首页 > 代码库 > 使用Google Cloud Messaging (GCM),PHP 开发Android Push Notifications (安卓推送通知)

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

什么是GCM?

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

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

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

api key的取得?

待补充?

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/