Windows.Devices.Geolocation.Geofencing 名前空間
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ジオフェンスは、地理的なポイントの周りの仮想領域です。 ジオフェンシング API を使用すると、アプリケーションは、アプリを継続的に実行してデバイス リソースを消費することなく、地理的にコンテキストに応じたエクスペリエンスをタイムリーに提供できます。 ジオフェンシングを使用すると、仕事や自宅を離れるときにユーザーにリマインダーを表示したり、ユーザーが店舗の範囲内に入ったときにクーポンを表示したりするシナリオが可能になります。
アプリでは、関心のある領域 (ジオフェンス) と、ユーザーがジオフェンスを開始または終了したときのトリガーなど、対応するトリガー条件を定義します。 最後に、トリガー条件が満たされたときに通知されるようにアプリが登録されます。 Windows とWindows Phoneでは、アプリごとに何百ものジオフェンスがサポートされています。 オペレーティング システムは、すべてのアプリのジオフェンス追跡を効率的に管理します。 1 つ以上のジオフェンスのトリガー条件が満たされると、アクティブに実行されていない場合でも、関連付けられているアプリにアラートが送信されます。 この高容量の電力対応のアダプティブ ジオフェンス追跡システムを使用すると、位置情報によってトリガーされる機能をアプリに迅速かつ簡単に追加できます。
ジオフェンシングの使用に関する完全なガイドについては、「 ジオフェンシングを開始する」を参照してください。
ジオフェンシング API を使用すると、アプリで次の操作を実行できます。
- 1 つ以上のジオフェンス、または関心のある領域を作成します。
- デバイスがジオフェンスに入ったときに通知を受け取る要求。
- デバイスがジオフェンスを終了したときに通知を受け取る要求。
- ジオフェンスがアクティブな時間枠を指定します。
- ジオフェンスごとにドウェル時間を指定します。通知がトリガーされるまでにデバイスがジオフェンスに入ったり外したりする時間を指定します。
- 監視対象ジオフェンスのアプリのコレクションからジオフェンスを動的に追加および削除します。
- アプリがアクティブな間にジオフェンス イベントを受信します。
- アプリのジオフェンスの状態が変化したときにバックグラウンド タスクを起動するようにシステムに登録します。 アプリは、バックグラウンド タスクを実行する前に RequestAccessAsync を呼び出す必要があります。
- シミュレーターを使用してデバイスの動きをシミュレートし、アプリのジオフェンス機能をテストします。
いずれかのジオフェンスのトリガー条件が満たされたときにアプリをバックグラウンドで起動する場合は、バックグラウンド タスクを使用して LocationTrigger を設定して起動する必要があります。
重要
Windows 10以降では、ユーザーの場所にアクセスする前に、Geolocator オブジェクトの RequestAccessAsync メソッドを呼び出します。 このときに、アプリをフォアグラウンドで実行し、RequestAccessAsync を UI スレッドから呼び出す必要があります。 ユーザーが自分の場所にアクセスするためのアクセス許可をアプリに付与するまで、アプリは位置情報データにアクセスできません。
クラス
Geofence |
監視するジオフェンス (関心のある地理的領域) を定義する機能が含まれています。 |
GeofenceMonitor |
監視対象の ジオフェンス オブジェクトに関する情報を格納します。 |
GeofenceStateChangeReport |
ジオフェンスの状態の変更に関する情報を格納します。 |
列挙型
GeofenceMonitorStatus |
GeofenceMonitor の現在の状態を示します。 |
GeofenceRemovalReason |
ジオフェンスが削除された理由を示します。 |
GeofenceState |
ジオフェンスの現在の状態を示します。 |
MonitoredGeofenceStates |
システムによって現在監視されているジオフェンスの状態を示します。 |
注釈
ジオフェンシングを機能させるには、位置情報サービスが実行されている必要があります。 このサービスが無効になっている場合、ジオフェンス呼び出しは失敗し、例外がスローされます。
ジオフェンシングを使用するには、アプリマニフェストで場所機能を宣言する必要があります。