Push notification Android Php
Hey, Today we learn how to send push notification for android in php. First create a class with following code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
<?php class Pusher{ const GOOGLE_GCM_URL = 'https://android.googleapis.com/gcm/send'; private $apiKey; private $proxy; private $output; public function __construct($apiKey, $proxy = null) { $this->apiKey = 'your_key'; $this->proxy = $proxy; } /** * @param string|array $regIds * @param string $data * @throws Exception */ public function notify($regIds, $data) { // pr($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, self::GOOGLE_GCM_URL); if (!is_null($this->proxy)) { curl_setopt($ch, CURLOPT_PROXY, $this->proxy); } curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $this->getHeaders()); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $this->getPostFields($regIds, $data)); $result = curl_exec($ch); if ($result === false) { throw new Exception(curl_error($ch)); } curl_close($ch); // pr($result); die; $this->output = $result; return $result; } /** * @return array */ public function getOutputAsArray() { return json_decode($this->output, true); } /** * @return object */ public function getOutputAsObject() { return json_decode($this->output); } private function getHeaders(){ return [ 'Authorization: key=' . $this->apiKey, 'Content-Type: application/json' ]; } private function getPostFields($regIds, $data){ $fields = [ 'registration_ids' => is_string($regIds) ? [$regIds] : $regIds, 'data' => is_string($data) ? ['message' => $data] : $data, ]; return json_encode($fields, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE); } } |
now call your notify function by creating a object of pusher class....
Recent Comments