1

小規模な環境で APNS を使用し、通知量が少ない場合は問題ありません。

(少なくとも私にとって) 問題は、大規模で大量の通知環境で APNS の制限を処理する方法です。

APNS には (設計による) いくつかの制限があり、スムーズな作業を難しくしています

  1. APNS への常時接続と切断は、DOS 攻撃と見なされる可能性があります。これにより、数秒ごとに通知をバッチ送信する必要があり、「リアルタイム」で送信する必要はないと思います

  2. 通知が到着したか、正常に送信されたかはわかりません。エラーが発生した場合にのみ返され、返されたときにすぐに返されない場合があります。

  3. 通知によってエラーが発生した場合 (たとえば、不正なトークンが原因で)、接続は APNS によって閉じられ、そのバッチの残りの通知は宛先に送信されませんが、一部は引き続き APNS に送信され、その後、永遠に失われます (成功に関するフィードバックがないため、彼らに何が起こったのかはわかりません)。

上記の問題を回避するために、実際の本番アプリは APNS とどのように連携しますか? エラーが返されたかどうかを確認するために、送信したすべての通知を保存する必要がありますか? それらをキューに入れる必要がありますか?送信されない通知があるという事実に直面する必要がありますか? DOS 攻撃としてカウントされないように、接続間の妥当な時間はどれくらいですか?

(現時点では、Ruby でヒューストンを使用して通知を処理しています)

4

2 に答える 2

1

ご存知のように、APNS サービスは信頼できません。Amazon Simple Notification Service (Amazon SNS) を使用できます。

これは、個別のメッセージを送信したり、多数の受信者にメッセージをファンアウトしたりできる、高速で柔軟な完全マネージド型のプッシュ通知サービスです。Amazon SNS を使用すると、プッシュ通知をモバイル デバイス ユーザーや E メール受信者に送信したり、他の分散サービスにメッセージを送信したりすることが、シンプルで費用対効果の高いものになります。詳細は以下のURLをご覧ください......

https://aws.amazon.com/blogs/aws/push-notifications-to-mobile-devices-using-amazon-sns/

于 2015-06-01T10:40:34.463 に答える