7

私が開発している Android アプリでは、ユーザーの場所に応じてユーザーの電話に通知を送信できるようにしたいと考えています。たとえば、ユーザーは、現在の場所に近いレストランでの特別取引に関する通知を受け取ります。

これを行うための最良の方法を知りたいですか?(コードはありません。それを行う方法の一般的な構造だけです)。

私は2つの可能な方法を考えました:

方法 1:

1) アプリでユーザーの位置情報を取得し、5 分ごとにサーバーに報告します。2) ユーザーが場所の設定半径内にいる場合は、通知を送信します。

方法 2:

1) 通知を送信し、アプリのブロードキャスト レシーバー メソッドを使用してフィルタリングし、正しいエリアのユーザーにのみ通知を表示します。

方法 1 は常に実行されているサービスに依存し、方法 2 はアプリのすべてのユーザーに通知を送信するため、どちらも恐ろしく非効率に見えます。ユーザー (したがって、表示されません)。

私はすでに GCM コードを作成しており、ユーザーの場所も取得できます。ユーザーをリンクする方法が必要なだけです。

私の質問が明確になったことを願っています。

4

1 に答える 1

5

Way1.5」(1と2の組み合わせ)はいかがですか?

ユーザーの位置を取得してサービスに送信できます。広い範囲(例:都内全域)で通報対応します。アプリケーションは、実際の範囲の通知のみを表示します。

ただし、アプリケーションは広い範囲の通知を認識しているため、ユーザーが移動した場合、アプリケーションはサービスに接続せずに (広い範囲内で) 新しい通知を表示できます。

いくつかの追加の考え:

  • ユーザーが広い範囲を離れた場合、アプリケーションは自動的にサービスに再度接続して、新しいバッチの通知を要求できます。
  • 広範囲を構成可能にすることができるので、ユーザーは多くの通信またはより広い範囲を好むことができます。
  • ユーザーの速度に応じて (たとえば、車に乗っているか、歩いているかなど)、幅広い通知範囲を調整できます。
于 2013-01-14T12:59:02.293 に答える