4
現在,我可以從已安裝通過設備的設備發送推送令牌,但我不知道此時反饋如何工作。從Apple文檔中,Apple推送通知服務(APN)向服務器提供反饋,以確定pushToken是否有效。如何獲得此反饋?我嘗試這個代碼,但很多錯誤。這是代碼:
發送推送通知時如何從APN獲得反饋
<?php
$cert = '/Applications/MAMP/htdocs/passesWebserver/certificates.pem';
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', $cert);
stream_context_set_option($ctx, 'ssl', 'verify_peer', false);
$fp = stream_socket_client('ssl://feedback.sandbox.push.apple.com:2196', $error, $errorString, 60, STREAM_CLIENT_CONNECT, $ctx);
// production server is ssl://feedback.push.apple.com:2196
if (!$fp) {
error_log("Failed to connect feedback server: $err $errstr",0);
return;
}
else {
error_log("Connection to feedback server OK",0);
}
error_log("APNS feedback results",0);
while ($devcon = fread($fp, 38))
{
$arr = unpack("H*", $devcon);
$rawhex = trim(implode("", $arr));
$feedbackTime = hexdec(substr($rawhex, 0, 8));
$feedbackDate = date('Y-m-d H:i', $feedbackTime);
$feedbackLen = hexdec(substr($rawhex, 8, 4));
$feedbackDeviceToken = substr($rawhex, 12, 64);
error_log ("TIMESTAMP:" . $feedbackDate, 0);
error_log ("DEVICE ID:" . $feedbackDeviceToken,0);
}
fclose($fp);
?>
只要確定如果我已經很好理解,你寫的代碼返回一個無效的令牌數組吧?然後,這是我的工作,然後從mysql中刪除... – user1576208 2016-03-30 16:12:46
是的,這是正確的。 – PassKit 2016-03-30 23:40:12
謝謝你的朋友! – user1576208 2016-03-31 05:02:18