diff --git a/GCMPushMessage.php b/GCMPushMessage.php index c24c404..0e0cc49 100644 --- a/GCMPushMessage.php +++ b/GCMPushMessage.php @@ -19,17 +19,19 @@ http://stackoverflow.com/questions/11242743/gcm-with-php-google-cloud-messaging */ + class GCMPushMessage { var $url = 'https://android.googleapis.com/gcm/send'; var $serverApiKey = ""; var $devices = array(); - + /* Constructor @param $apiKeyIn the server API key - */ - function GCMPushMessage($apiKeyIn){ + */ + + public function __construct($apiKeyIn){ $this->serverApiKey = $apiKeyIn; } @@ -38,13 +40,13 @@ function GCMPushMessage($apiKeyIn){ @param $deviceIds array of device tokens to send to */ function setDevices($deviceIds){ - + if(is_array($deviceIds)){ $this->devices = $deviceIds; } else { $this->devices = array($deviceIds); } - + } /* @@ -53,20 +55,20 @@ function setDevices($deviceIds){ @param $data Array of data to accompany the message */ function send($message, $data = false){ - + if(!is_array($this->devices) || count($this->devices) == 0){ $this->error("No devices set"); } - + if(strlen($this->serverApiKey) < 8){ $this->error("Server API Key not set"); } - + $fields = array( 'registration_ids' => $this->devices, 'data' => array( "message" => $message ), ); - + if(is_array($data)){ foreach ($data as $key => $value) { $fields['data'][$key] = $value; @@ -80,25 +82,25 @@ function send($message, $data = false){ // Open connection $ch = curl_init(); - + // Set the url, number of POST vars, POST data curl_setopt( $ch, CURLOPT_URL, $this->url ); - + curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); - + curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) ); - + // Execute post $result = curl_exec($ch); - + // Close connection curl_close($ch); - + return $result; } - + function error($msg){ echo "Android send notification failed with error:"; echo "\t" . $msg;