通过APNS发送推送确实存在一些问题.因为看起来我们确实从苹果得到了错误的回应.推送已发送,但我们收到错误响应,导致多次发送推送.有没有其他人遇到类似的问题或我错过了什么?
<?php
private function checkAppleErrorResponse($apns, PushToken $token)
{
//byte1=always 8, byte2=StatusCode, bytes3,4,5,6=identifier(rowID). Should return nothing if OK.
$apple_error_response = fread($apns, 6);
if ($apple_error_response) {
//unpack the error response (first byte 'command" should always be 8)
$error_response = unpack('Ccommand/Cstatus_code/Nidentifier', $apple_error_response);
if ($error_response['status_code'] == '0') {
$error_response['status_code'] = '0-No errors encountered';
} else if ($error_response['status_code'] == '1') {
$error_response['status_code'] = '1-Processing error';
} else if ($error_response['status_code'] == '2') {
$error_response['status_code'] = '2-Missing device token';
} else if ($error_response['status_code'] == '3') {
$error_response['status_code'] …Run Code Online (Sandbox Code Playgroud)