Android GCM を使用すると便利なのはいつですか?
私が理解できる限り、それはプルメカニズムではなくプッシュメカニズムです。
現在、通常の http クライアントを使用して投稿を送信し、サーバーから json 応答データを取得しています。GCM を使用して Android の sqlite db を更新するのを見た ppl を見て、GCM を使用することが理にかなっているのかどうかはわかりません。
Android GCM を使用すると便利なのはいつですか?
私が理解できる限り、それはプルメカニズムではなくプッシュメカニズムです。
現在、通常の http クライアントを使用して投稿を送信し、サーバーから json 応答データを取得しています。GCM を使用して Android の sqlite db を更新するのを見た ppl を見て、GCM を使用することが理にかなっているのかどうかはわかりません。
私が理解できる限り、それはプルメカニズムではなくプッシュメカニズムです。
最新のアップデートは、プッシュとプルの両方をサポートしていますが、ほとんどの場合、プッシュ (サーバー -> デバイス、Google のサーバー経由) と考えられています。
現在、通常の http クライアントを使用して投稿を送信し、サーバーから json 応答データを取得しています。
デバイスがその作業を開始することを認識している場合、それは正常に機能します。
GCM プッシュ イベントは、何かが発生する必要があることをサーバーが認識しているが、デバイスが認識していない状況に合わせて設計されています。
たとえば、Remember the Milk (RTM) を取り上げます。これは「Web 2.0」の To Do リスト サービスです。Web ブラウザーやモバイル アプリからアクセスできます。Android アプリもインストールされていて、同じ RTM アカウントに関連付けられている場合、Web ブラウザーで変更を行うと、RTM サーバーは GCM を使用して、to-do エントリに変更があったことをデバイスに通知します。RTM は、4K GCM ペイロード内の情報全体をプッシュ ダウンする可能性があります。または、RTM Android アプリが通常の Web サービス呼び出しを使用してデータをプルダウンするトリガーにすぎない可能性もあります。
これは、ポーリング アーキテクチャ (たとえば、RTM は 5 分ごとに更新をチェックする) よりも効率的です。これは、実行する実際の作業がある場合にのみ重要なネットワーク I/O を実行するためです。また、GCM メッセージが (通常) リアルタイムで配信されるという点で (通常) 高速であるため、Android アプリはポーリング アーキテクチャよりも高速に同期できます。
コード/アプリがサーバーからの応答を必要とするときにリクエストを開始することを説明した場合。このような状況では、これが正しい方法です。
プッシュ メッセージング (Android の場合: GCM) は、サーバーで何らかの通信の初期化を必要とするイベントが発生している場合の正しいアプローチです。サーバーがユーザー/クライアントに代わって常にオンラインで動作するダイレクト メッセージングまたは電子メール システムの場合、必要な通信を開始するためにプッシュ メッセージを送信できます (メッセージの配信または電子メールのフェッチの開始)。