We are using below php script to send notification to iOS device.
Previously it was also working fine and iOS getting notification. but all of sudden iOS stop getting notification.
<?php
$deviceToken = '37ec1260b9eeba7bcd95bbc444a49ed6bc6e4d10f6a184e7394b610c79603d44';
$passphrase = '123456';
$message = 'Your message';
$ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', 'ios-notification.pem'); stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Open a connection to the APNS server $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
if (!$fp)
exit("Failed to connect: $err $errstr" . PHP_EOL);
echo 'Connected to APNS' . PHP_EOL;
$body['aps'] = array(
'alert' => array(
'body' => $message,
'action-loc-key' => 'Bango App',
),
'badge' => 2,
'sound' => 'oven.caf',
);
$payload = json_encode($body);
// Build the binary notification $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
$result = fwrite($fp, $msg, strlen($msg));
if (!$result)
echo 'Message not delivered' . PHP_EOL; else
echo 'Message successfully delivered' . PHP_EOL;
fclose($fp); ?>
When we call this php script it show message 'Message successfully delivered' but iOS Device not received any notification.
we have created certificate using Apple Push Notification service SSL (Sandbox & Production). we have checked wether p12 and pem is valid or not using https://www.pushtry.com/ site. When we sent notification from this portal we got notification but same way If we tried using above php script it was not delivered.