Ошибка отправки уведомления Apple Pu sh при подключении к серверу APNS в PHP - PullRequest
0 голосов
/ 09 января 2020

У меня есть скрипт PHP для отправки уведомлений pu sh. С помощью следующего сценария я получаю подтверждение «Успешно отправлено сообщение», но уведомление pu sh не отправляется. Любые мысли о том, что проблема может быть или какие-либо другие PHP сценарии, которые могут быть использованы?

$apnsServer = 'api.push.apple.com:443';

$privateKeyPassword = '<MY_PASSWORD>';

$message = 'You have a new comment!';

$deviceToken = '<A_DEVICE_TOKEN>';

$pushCertAndKeyPemFile = '<MY_PEM_FILE>.pem';
$stream = stream_context_create();
stream_context_set_option($stream,
'ssl',
'passphrase',
$privateKeyPassword);
stream_context_set_option($stream,
'ssl',
'local_cert',
$pushCertAndKeyPemFile);


$connectionTimeout = 20;
$connectionType = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT;
$connection = stream_socket_client($apnsServer,
$errorNumber,
$errorString,
$connectionTimeout,
$connectionType,
$stream);
if (!$connection){
echo "Failed to connect to the APNS server. Error no = $errorNumber<br/>";
exit;
} else {
echo "Successfully connected to the APNS. Processing...</br>";
}
$messageBody['aps'] = array('alert' => $message,
'sound' => 'default',
'badge' => 2,
);
$payload = json_encode($messageBody);
$notification = chr(0) .
pack('n', 32) .
pack('H*', $deviceToken) .
pack('n', strlen($payload)) .
$payload;
$wroteSuccessfully = fwrite($connection, $notification, strlen($notification));
if (!$wroteSuccessfully){
echo "Could not send the message<br/>";
}
else {
echo "Successfully sent the message<br/>";
}
fclose($connection);
...