このような広範なネットワークの使用は、バッテリーやデータ使用のためにも非常に高価になります。アプリで頻繁に更新されるデータが必要な場合は、ほとんどの場合、1秒(2秒または5秒)ごとに1回HTTPリクエストを送信することをお勧めします。
Google Cloud Messagingを使用していれば、どのような種類の通知(Androidシステムの通知またはアプリ内の通知バッジ)を受信して更新するよい方法です。サーバー側とクライアント側の両方で実装する必要があります。 Google Developer Consoleにアプリパッケージ名を登録し、APIキーを取得する必要があります。これを実行すると、アプリはGCMサーバーからプッシュ通知を受け取ることができます。プッシュ通知を受けたの流れは次のようになります。
- あなたが提供するSDKを使用してGCMシステムに現在のデバイスを登録し、それは(あなたがあなたのサーバーにこのキーをアップロード
- 現在のデバイスの一意の識別子をGCM生成します場合
- サーバー上で何か重要なことが起こると、たとえば、ユーザーが新しい未読メッセージを取得した場合、サーバーはユーザープロファイルからGCM固有の識別子を取得し、ユーザーのプロファイルを使用して、 GCMサーバーに通知を送信する
- GCMサーバーは、このデータをユーザーのデバイスに送信しますあなたの実装に
BroadcastReciever
の通知を配信します。その後、このデータを使って何をするかはあなた次第です:システム通知を作成するか、この情報を使ってアプリのUIを更新します。
Google Cloud Messagingの仕組みの概要は、設定してプロジェクトに実装する方法についての記事がたくさんあります(例:this one)。このソリューションは、毎秒HTTPリクエストを送信するだけの複雑な方法に見えるかもしれませんが、潜在的なユーザーはバッテリとデータの制限を保存していただきありがとうございます。
また、Androidシステム通知を作成する場合は、Parseライブラリを使用してGCMをラップし、実装を少し簡単にすることができます。