ユーザーが興味のあるエリアを出入りしたときに、状況に応じたエクスペリエンスを提供する

ユーザーが特定の場所(空港やスーパーマーケットなど)にいるときに、特定のアプリを使用したいと考えることがあります。ただし、ユーザーはそのアプリに移動し、関心のあるエリアの近くにあるときに、アプリ内で特定の操作を行う必要があります。

ジオフェンス API を使用すると、対象地域を囲む境界(ジオフェンス)を定義できます。デバイスがジオフェンスを越えるとアプリに通知が届き、ユーザーが近くにいるときに便利なエクスペリエンスを提供できます。

たとえば、航空会社のアプリで、フライトの予約が搭乗時刻に近づいたときの空港周辺のジオフェンスを定義できます。デバイスがジオフェンスを越えると、アプリはユーザーに、搭乗券の取得を許可するアクティビティに移動する通知を送信します。

Geofencing API は、デバイスのセンサーをインテリジェントに使用して、バッテリー効率の良い方法でデバイスの位置情報を正確に検出します。

ユーザーがジオフェンスをトリガーしたときに通知を受け取る

各ジオフェンスの緯度、経度、半径、期間、遷移タイプを設定することで、ジオフェンス オブジェクトのリストを作成できます。遷移タイプは、ユーザーがジオフェンスを出入りするなど、ジオフェンスをトリガーするイベントを示します。

ジオフェンスのリストを取得したら、ジオフェンス リクエストに追加できます。ジオフェンスの監視を開始するときは、ジオフェンス クライアントにアプリを送信する方法を API に伝える PendingIntent オブジェクトとともにリクエストをジオフェンス クライアントに追加します。

Geofencing API は、アプリ内の IntentService にイベントを配信します。これにより、ジオフェンスの目的でサービスをバックグラウンドで実行する必要がなくなります。サービスは、関連情報がある場合にのみ呼び出されます。

サービスは、トリガーされたジオフェンスのリストを含む Intent からジオフェンス イベントを受け取ります。実行するロジックを決定するための独自のロジックを指定できます。