GCMの方がエネルギー消費量が少ないと聞きましたが、GCMはどのようにしてバッテリー寿命を延ばすのですか?GCMとの違いは何ですか?
サーバーは何かを取得するとアプリにメッセージを送信すると言われているので、アプリは毎回サーバーをチェックする必要はありません。
しかし今、アプリはまだそのメッセージをチェックする必要がありますか?
GCMの方がエネルギー消費量が少ないと聞きましたが、GCMはどのようにしてバッテリー寿命を延ばすのですか?GCMとの違いは何ですか?
サーバーは何かを取得するとアプリにメッセージを送信すると言われているので、アプリは毎回サーバーをチェックする必要はありません。
しかし今、アプリはまだそのメッセージをチェックする必要がありますか?
それが機能する方法は、GCMがない場合、ソケットを存続させるために、アプリがサーバーに対してソケットを開いて5分ごとにpingを実行する必要があるということです。別のオプションは、 5分ごとにサーバーを使用して、フェッチする新しいものがあるかどうかを確認します。
GCMでは、メッセージを取得するためにすでに実行されている1つの統合プロセスがあります。これで、アプリはブロードキャストリスナーでサブスクライブするだけで、そのGCMプロセスでアプリへのメッセージがあった場合、そのメッセージはアプリにブロードキャストされ、その段階で必要なものを何でも実行できます。
これにより、独自のサービスを実行するのではなく、OS上の既存のGCMサービスに便乗するだけでバッテリーを節約でき、バッテリーの使用量が少なくなります。