4

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.

Crazy Developer
  • 3,464
  • 3
  • 28
  • 62

0 Answers0