2016-04-27 5 views
1

WhatsAppが毎秒通知を更新していることを知った後、私はバッテリー寿命の最も良い組み合わせと通知によるユーザーの最新の状態を知り始めました。ジョブを同期させるときはどうすればいいですか?

私が今働いている会社は、バッテリー寿命を吸うことを本当に恐れています。だから、彼らは最も速い同期が4分の1前後になることを望んでいる。その間、WhatsAppは毎秒更新します。それで、私たちの会社は正しいことをしていますか?それとも、WhatsAppが毎回新しいアップデートをチェックするのは、バッテリーの寿命を長くしないためです。

答えて

1

このような広範なネットワークの使用は、バッテリーやデータ使用のためにも非常に高価になります。アプリで頻繁に更新されるデータが必要な場合は、ほとんどの場合、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をラップし、実装を少し簡単にすることができます。

関連する問題