• 使用Google Cloud Messaging (GCM),PHP 开发Android Push Notifications (安卓推送通知)


    什么是GCM?

    Google Cloud  Messaging (GCM) 是Google提供的一个服务,用来从服务端向安卓设备发送推送通知。

    GCM分为客户端和服务端开发。

    这里我们只介绍服务端开发。其实过程非常简单,只需利用PHP发送POST数据。

    有两个关键地方需要获得一个是API Key

    一个是Device ID 这个可以从安卓客户端开发者获得。

    class GCM {
    
        public $api_key = "AIzaSyAU3wZs9raik-mHQ";
    
        function __construct() {
    
        }
    
        /**
         * Sending Push Notification
         */
        public function send_notification($registatoin_ids, $message) {
    
            // Set POST variables
            $url = 'https://android.googleapis.com/gcm/send';
    
    
            $fields = array(
                'registration_ids' => $registatoin_ids,
                'data' => $message,
            );
    
            $headers = array(
                'Authorization: key=' . $this->api_key,
                'Content-Type: application/json'
            );
            // Open connection
            $ch = curl_init();
    
            // Set the url, number of POST vars, POST data
            curl_setopt($ch, CURLOPT_URL, $url);
    
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
            // Disabling SSL Certificate support temporarly
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
            curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    
            // Execute post
            $result = curl_exec($ch);
            if ($result === FALSE) {
                die('Curl failed: ' . curl_error($ch));
            }
    
            // Close connection
            curl_close($ch);
            return $result;
        }
    
    }

    运行程序

    $device_id = "APA91bFFBkpObz-rK";
    $registatoin_ids = array($device_id);
    
    $message = array("data" => "test content from finley");
    
    $gcm = new GCM();
    $result = $gcm->send_notification($registatoin_ids, $message);
    echo $result;

     参考:

    http://developer.android.com/google/gcm/server.html#params

    http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

  • 相关阅读:
    [PAT] 1012 The Best Rank (25 分)Java
    scroll-view 隐藏滚动条
    python bool
    wx小程序 button 属性open-typ 用法 按钮分享
    python str 的常用方法
    node global文件夹和chace文件夹位置全局位置修改
    wx.showModal() 内容如何换行?
    自定义导航栏头部 并简单设置标题和返回按键
    jquery绑定事件如何传递参数
    复习第一天内容
  • 原文地址:https://www.cnblogs.com/mafeifan/p/3791693.html
Copyright © 2020-2023  润新知