小規模な環境で APNS を使用し、通知量が少ない場合は問題ありません。
(少なくとも私にとって) 問題は、大規模で大量の通知環境で APNS の制限を処理する方法です。
APNS には (設計による) いくつかの制限があり、スムーズな作業を難しくしています
APNS への常時接続と切断は、DOS 攻撃と見なされる可能性があります。これにより、数秒ごとに通知をバッチ送信する必要があり、「リアルタイム」で送信する必要はないと思います
通知が到着したか、正常に送信されたかはわかりません。エラーが発生した場合にのみ返され、返されたときにすぐに返されない場合があります。
通知によってエラーが発生した場合 (たとえば、不正なトークンが原因で)、接続は APNS によって閉じられ、そのバッチの残りの通知は宛先に送信されませんが、一部は引き続き APNS に送信され、その後、永遠に失われます (成功に関するフィードバックがないため、彼らに何が起こったのかはわかりません)。
上記の問題を回避するために、実際の本番アプリは APNS とどのように連携しますか? エラーが返されたかどうかを確認するために、送信したすべての通知を保存する必要がありますか? それらをキューに入れる必要がありますか?送信されない通知があるという事実に直面する必要がありますか? DOS 攻撃としてカウントされないように、接続間の妥当な時間はどれくらいですか?
(現時点では、Ruby でヒューストンを使用して通知を処理しています)