私が開発している Android アプリでは、ユーザーの場所に応じてユーザーの電話に通知を送信できるようにしたいと考えています。たとえば、ユーザーは、現在の場所に近いレストランでの特別取引に関する通知を受け取ります。
これを行うための最良の方法を知りたいですか?(コードはありません。それを行う方法の一般的な構造だけです)。
私は2つの可能な方法を考えました:
方法 1:
1) アプリでユーザーの位置情報を取得し、5 分ごとにサーバーに報告します。2) ユーザーが場所の設定半径内にいる場合は、通知を送信します。
方法 2:
1) 通知を送信し、アプリのブロードキャスト レシーバー メソッドを使用してフィルタリングし、正しいエリアのユーザーにのみ通知を表示します。
方法 1 は常に実行されているサービスに依存し、方法 2 はアプリのすべてのユーザーに通知を送信するため、どちらも恐ろしく非効率に見えます。ユーザー (したがって、表示されません)。
私はすでに GCM コードを作成しており、ユーザーの場所も取得できます。ユーザーをリンクする方法が必要なだけです。
私の質問が明確になったことを願っています。