私は現在、いくつかの非常に厳しいニーズを持つアプリを開発中です。
プロジェクト
サーバーと通信できるアプリケーションが必要です。通知を表示したり、アクティビティを開始したりできる小さなメッセージをアプリに送信する必要があります。
要求
クライアントは、電話が常に「接続」されていることを確認する必要があります。
クライアントは、アプリがサーバーに接続されなくなった (または接続できなくなった) ことをアプリがユーザーに通知できることを期待しています。
クライアントは個々のデバイスにメッセージを送信できる必要が
ある クライアントが接続されたデバイスと個々のデバイスにメッセージをブロードキャストする必要がある場合。
私の考え(または問題)
現在、アプリは 1 分に 1 回、http 要求でサーバーをポーリングしています。アプリがサーバーに接続できない場合、ユーザーは通知を受け取ります。ポーリングは、どのデバイスが呼び出しを行っているかを判断し、そのデバイスにメッセージがあるかどうかを伝えることができます。
しかし...
IMO これはひどい設計です。過剰なトラフィックを大量に生成し、おそらく必要のないリソースを使用し、接続に関する多くの問題を引き起こします (どの方法を使用しても問題を解決できるかどうかはわかりません)。使用済み)。
私のプロジェクトに適したソリューションを選択するには、あなたの経験が必要です.
C2DM を検討していますが、これで私のニーズが満たされるかどうかわかりません。私の唯一の本当の解決策はポーリングですか?私が考えていない 3 番目のオプションはありますか?