標籤:android style class blog code http
什麼是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/