自分で書いた後、できるだけ多くのさまざまな Web サイトから PHP コードを使用していますが、Apple プッシュ通知フィードバック サービスへの接続ですべてが失敗します。
手短に:
$stream_context = stream_context_create();
stream_context_set_option($stream_context, 'ssl', 'local_cert', $certkeypath);
stream_context_set_option($stream_context, 'ssl', 'passphrase', $pass);
$apns = stream_socket_client('ssl://feedback.sandbox.push.apple.com:2196', $errcode, $errstr, 60, STREAM_CLIENT_CONNECT, $stream_context);
if(!$apns) {
echo "ERROR $errcode: $errstr\n";
return;
}
上記のコードは、今夜のすべての接続要求を 100% タイムアウトさせます。しかし!アドレスが feedback.sandbox.push.apple.com から gateway.sandbox.push.apple.com に変更され、ポートが 2196 から 2195 に変更された場合、すべてが 100% 機能し、すべてのプッシュ通知が配信されます。デバイスの 1 つからアプリを削除し、プッシュ通知を送信し続けたので、フィードバックから実際の結果を期待していましたが、何もありませんでした。
ゲートウェイが機能するのにフィードバックが機能しない理由はありますか。唯一の違いはポートとアドレスのようです。おそらくフラグですが、他の人が動作すると主張するコードを使用しています。
APNs フィードバック サービスがメンテナンスのためにダウンしていると思われます。