0
去年我成功地實現了iPhone推送通知服務器(PHP);我不得不改變服務器,並認爲移動文件是足夠的...我錯了,因爲修改通知不再發送。沒有錯誤,一切似乎都沒問題,但沒有收到通知。iPhone推送通知服務器:服務器更改後要做些什麼?
以下是我的服務器代碼;任何人都可以想到一個原因,或者找到問題的方法? (注意:$ deviceTokens var是正確的,包含設備令牌,並且我已經用openssl命令成功測試了我的.pem證書)。
$payload['aps'] = array('alert' => 'notification!!', 'sound' => 'push.aif');
$payload = json_encode($payload);
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', 'libraries/ck_prod.pem');
$apns = stream_socket_client('ssl://gateway.sandbox.push.apple.com:' . 2195, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);
if($error) {
log_message('error', $errorString);
return;
}
log_message('debug', 'sending push notification...');
if($apns) {
foreach($deviceTokens as $deviceToken) {
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);
}
fclose($apns);
} else {
log_message('error', 'error while sending push notification');
}
我有同樣的問題我既沒有收到錯誤也沒有收到推送通知,如果我在其他服務器上使用這些文件,我會收到推送通知,但是如果我在我的服務器上使用,則不會收到通知。你是如何解決這個問題的? – Anjani 2011-01-31 01:22:00