I'm looking for php code which can send push notification to ios devices and android devices both.
Individually i have used easyapns for the ios push notification and gcm for the android push notification.
i want to merge both codes and make a single code for sending push notification for both devices.
i'm working on php part only. is there any solution to make it easy ?
after my research i found a solution its working fine for ios.
public function send_notification($registration_id,$message,$ios_certificate,$badge,$tHost){
// Provide the Host Information.
//$tHost = 'gateway.sandbox.push.apple.com';
$tPort = 2195;
// Provide the Certificate and Key Data.
//$tCert = 'certificates/meetmethere/apns-dev-cert.pem';
$tPassphrase = '';
//$tToken = 'efdf10632aa4e711ef8c57abf2a3cdec51e7c42811bb998c3e26de2876bac8fa';
//$tAlert = 'this is the test message ';
// The Badge Number for the Application Icon (integer >=0).
$tBadge = 0;
// Audible Notification Option.
$tSound = 'default';
// The content that is returned by the LiveCode "pushNotificationReceived" message.
$tPayload = 'message';
// Create the message content that is to be sent to the device.
$tBody['aps'] = array (
'alert' => $message,
'badge' => $badge,
'sound' => $tSound,
);
$tBody ['payload'] = $tPayload;
$tBody = json_encode ($tBody);
// Create the Socket Stream.
$tContext = stream_context_create ();
stream_context_set_option ($tContext, 'ssl', 'local_cert', $ios_certificate);
// Remove this line if you would like to enter the Private Key Passphrase manually.
stream_context_set_option ($tContext, 'ssl', 'passphrase', $tPassphrase);
// Open the Connection to the APNS Server.
$tSocket = stream_socket_client ('ssl://'.$tHost.':'.$tPort, $error, $errstr, 30, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $tContext);
// Check if we were able to open a socket.
if (!$tSocket)
$status=false;
// Build the Binary Notification.
$tMsg = chr (0) . chr (0) . chr (32) . pack ('H*', $registration_id) . pack ('n', strlen ($tBody)) . $tBody;
// Send the Notification to the Server.
$tResult = fwrite ($tSocket, $tMsg, strlen ($tMsg));
if ($tResult)
$status=true;
else
$status=false;
fclose ($tSocket);
return $status;
}`
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With