https://github.com/Redth/APNS-Sharpを使用して、iPhone アプリがインストールされているすべてのデバイスにプッシュ通知メッセージを送信しています。それは非常に一貫性のない方法で動作しています!
この問題はどのように始まったのですか?
約 500 人のユーザーを持つ iPhone アプリがあります。ほとんどのユーザーが通知メッセージを受け取っていないことに気付きました! リアルタイムでさらにデバッグすると、次の一連のイベントに気付きました。
.....
10:37:33 AM - Notification Queued!
10:37:33 AM - Notification Queued!
10:37:33 AM - Notification Queued!
10:37:33 AM - Notification Queued!
10:37:36 - Connecting...
10:37:36 - Connected...
10:37:36 - Notification Success
10:37:36 - Notification Success
10:37:36 - Notification Success
...
10:37:36 - Error: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host.
10:37:39 - Connecting...
10:37:40 - Connected...
10:37:40 - Notification Success
10:37:40 - Notification Success
....
私がやった事?
アドホック運用証明書を使用してテスト用の iPhone アプリを作成し、5 台のデバイスにインストールしました。これらすべてのデバイスに同時に複数のメッセージを送信しようとしました。メッセージを受信する際の動作がまったく一貫していないことに気付きました。場合によっては、5 つのデバイスすべてが即座にメッセージを受信することもありました。5 台中 3 台のデバイスがほぼ瞬時にメッセージを受信し、他の 2 台のデバイスのうち、いずれかがすぐにメッセージを受信する場合があり、他の 1 台はすべてのメッセージを受信するのではなく、最後のメッセージを受信します。メッセージがまったく受信されない場合があります。
また、一度に個々のデバイスにメッセージを送信しようとしましたが、メッセージの受信を開始すると、すべてのメッセージが即座に送信され、長時間 (約 20 分) 後に最後のメッセージを受信する場合があることに気付きました。
私が確認したことは?
- 同じ接続を使用してすべてのメッセージを送信するため、複数の接続を開くことはありません。
- 正しい証明書とプッシュ通知サーバーを使用する。
- フィードバック サービスを数回実行しましたが、デバイス ID が返されませんでした。
他の誰かがこの動作に気づきましたか? 複数のデバイスにメッセージを送信する場合、何が問題になる可能性がありますか? プッシュ通知を信頼できるものにするために他にできることはありますか?
ありがとう。