Я работаю над проектом на PHP, который требует, чтобы я отправил уведомление о предупреждении на сервер APNS.Я использовал расширенный формат push-уведомлений.но я не получаю ответ, как указано в документах APNS.Я получаю ответ из трех цифр, обычно 133, 132, 154, 138 и т. Д. Я пришел к выводу, что это признаки статуса, например.133 - 1, 3, 3. но теперь я также получил 139. поэтому я сомневаюсь, что мое толкование ответа неверно.Но я не понимаю, где это неправильно.И важно то, что, хотя я получаю эти ответы, оповещение выдвигается, и я получаю уведомления на своем iPhone, а также на iPad.
Мой код выглядит следующим образом:
$payload['aps'] = array('alert' => $message, 'badge' => 1, 'sound' => 'default');
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195; // default port
$apnsCert = 'apns-dev.pem'; // APNS crtificate.
$passPhrase = '';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
stream_context_set_option($streamContext, 'ssl', 'passphrase', $passPhrase);
try{
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 60, STREAM_CLIENT_CONNECT, $streamContext);
if (!$apns) {
print "Failed to connect {$error} {$errorString}\n";
}
else {
// Sending the payload
$apnsMessage = chr(0) . pack('n', 1) . pack('n', $nid) . pack('n', time() + 604800) . pack('n', 32) . pack('H*', str_replace(' ', '', $alert_device_token)) . pack('n', strlen($payload)) . $payload;
echo 'APNS Message: ' . $apnsMessage;
$fwrite = fwrite($apns, $apnsMessage);
echo 'APNS response: ' . $fwrite;
Икогда это выполнено, я получил следующий ответ, напечатанный в браузере:
APNS Сообщение:"alert": "Ваша цена предупреждения EUR \ / USD SELL достигнута!", "badge": 1, "sound": "default"}} Ответ APNS: 139
Может кто-нибудь, пожалуйстаскажите мне, что это значит здесь 139я делаю что-то не так здесь.