11
APNS를 통해 푸시를 보내는 데 몇 가지 문제가 있습니다. 우리가 사과에서 잘못된 반응을 얻는 것처럼 보입니다. 푸시가 전송되지만 푸시가 여러 번 전송되는 오류 응답이 표시됩니다. 다른 사람이 비슷한 문제를 경험 했습니까?APNS Push PHP 잘못된 응답
<?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'] = '3-Missing topic';
} else if ($error_response['status_code'] == '4') {
$error_response['status_code'] = '4-Missing payload';
} else if ($error_response['status_code'] == '5') {
$error_response['status_code'] = '5-Invalid token size';
} else if ($error_response['status_code'] == '6') {
$error_response['status_code'] = '6-Invalid topic size';
} else if ($error_response['status_code'] == '7') {
$error_response['status_code'] = '7-Invalid payload size';
} else if ($error_response['status_code'] == '8') {
$error_response['status_code'] = '8-Invalid token';
} else if ($error_response['status_code'] == '255') {
$error_response['status_code'] = '255-None (unknown)';
} else {
$error_response['status_code'] = $error_response['status_code'] . '-Not listed';
}
if ($token->isExistingUser()) {
$this->logger->error('#cloudalarm User-Id: ' . $token->getAssociatedUser() . ': Something went wrong with APNS pushing , error is ' . $error_response['status_code']);
} else {
$this->logger->error('#cloudalarm for simple login id ' . $token->getAssociatedUser() . ': Something went wrong with APNS pushing , error is ' . $error_response['status_code']);
}
return true;
}
return false;
}
?>
어떤 오류가 발생합니까? 귀하의 질문에 그것을 포함하십시오. – ventiseis
@ventiseis 로그에서 볼 수있는 유일한 오류는 '8-Invalid token'입니다. 어떤 경우에는 유효한 응답입니다. –
토큰이 맞다고 생각하지만 오류가 아니라고합니다. 토큰이 실제로 작동하는지 어떻게 확인합니까? – DanFromGermany