2 namespace Utility\Comms;
6 * Facilitates chatting to android devices via GCM.
14 * Send message via GCM.
15 * @param string|array $registrationIds
16 * @param array $messageData
17 * @param array $collapse
20 static public function send($registrationIds, array $messageData, array $collapse = array())
22 //-- Preparation work.
23 if (!is_array($registrationIds))
25 $registrationIds = array($registrationIds);
27 if (0 == count($registrationIds))
36 $client = new \ZendService\Google\Gcm\Client();
37 $client->setApiKey('AIzaSyCrg16ZpPKm0QU2NhhCanH0O-MaxwoO8LU');
38 $httpClient = new \Zend\Http\Client(null, array(
39 'adapter' => 'Zend\Http\Client\Adapter\Socket',
40 'sslverifypeer' => false
42 $client->setHttpClient($httpClient);
45 $message = new \ZendService\Google\Gcm\Message();
46 $message->setRegistrationIds($registrationIds);
47 $message->setData($messageData);
48 foreach ($collapse as $collapseKey)
50 $message->setCollapseKey($collapseKey);
52 $message->setRestrictedPackageName('com.nirph.bid4cars');
53 $message->setDelayWhileIdle(false);
54 $message->setTimeToLive(600);
55 $message->setDryRun(false);
57 //-- Send the message.
60 $response = $client->send($message);
64 \Utility\Debug::errorLog(__METHOD__ . ':ERROR', $e->getMessage());
67 'Failed' => count($registrationIds)
71 'Success' => $response->getSuccessCount(),
72 'Failed' => $response->getFailureCount()