APNS 対応の XMPP チャット クライアントがあります。他のユーザーがアプリを非アクティブにするたびに、サーバーでプッシュをトリガーして、アプリで未読のメッセージがあることを他のユーザーに警告します。現在の実装では、ペイロードを構築して Apple サーバーに転送する毎分実行される cron ジョブにそれを渡すキューがあります。問題は、アプリがチャット クライアントであるため、これには時間がかかりすぎることです。ユーザーはプッシュ通知をすぐに受け取ることを期待しています (もちろん、数秒の遅延は許容されます。プッシュ通知の送信中ですが、私の経験では、クライアントが受信するのに数秒かかります)。
Apple には、C2DM (現在は GCM として知られている) とは異なり、要求に関しては制限があることがわかりました。そのため、要求をキューに入れ、cron ジョブに渡します。他のアプリもそれを行っていますが、リアルタイムに近い方法で正確に行っているかどうかはわかりません。
ここに私の質問のいくつかがあります:
- 実装を変更する必要がありますか? (キューと cron ジョブ)。
- 複数のプロバイダーを持つことは問題の解決策ですか? はいの場合、これに対する要件は何ですか?
- すでにこれを行っている有料サービスはありますか? 誰か名前を挙げてくれませんか?