1

IOS デバイスのリモート プッシュ通知のプロバイダーの実装に取り​​組んでいます。また、Apple の開発者向け Web サイトにあるベスト プラクティス ガイドの次の記事も読みました。

複数の通知で APNs との接続を開いたままにします。接続を繰り返し開いたり閉じたりしないでください。APNs は、急速な接続と切断をサービス拒否攻撃として扱います。接続が長時間アイドル状態になることがわかっている場合を除き、接続を開いたままにしておく必要があります。たとえば、1 日に 1 回だけユーザーに通知を送信する場合は、毎日新しい接続を使用してもかまいません。

接続を確立するためのロジックを実装した後、それをテストすることにし、サーバーをしばらく実行したままにしました。夕食から戻った後、サーバーが Apple プッシュ通知サービスによって切断されていることに気付きました。サーバーが稼働している間、サーバーは Apple プッシュ通知サービスに接続されていましたが、アイドル状態でした。サービスが信頼できず、断続的に切断されるという別の質問を読みました。サービスから切断するために接続をアイドル状態にする必要がある時間を誰かが知っているかどうか、および切断に対処するためのベストプラクティスを誰かが提案できるかどうか疑問に思っていました.

私の主な懸念は、Apple が急速な接続と切断を DDOS 攻撃と見なすことです。そのため、接続を可能な限り開いたままにして、サービスから切断されたときにサービスに再接続するつもりでした。これは APNS を扱うための一般的な方法ですか?

[2016 年 4 月 5 日更新] 再接続ロジックを実装しましたが、サービスについて理解できない問題が発生しているようです。Apple によると、複数の通知にわたって APN への接続を開いたままにしておいてほしいとのことです。ただし、接続を介して最初の通知を送信し、それがデバイスに表示されるのを確認した後、接続を介して送信されたそれ以降の通知が通過していないように見えます。ストリームごとに 1 つのリクエストしか送信できませんか? より多くのリクエストを送信するにつれて、ストリームを段階的に開く必要がありますか?

4

0 に答える 0