バックグラウンド タスクからのジオフェンス通知の処理 (HTML)
このトピックでは、アプリを使ってバックグラウンド タスクからの Geofence 通知を処理する手順について説明します。
ロードマップ: このトピックと他のトピックとの関連については、以下をご覧ください。
はじめに
ジオフェンスを作成すると、ジオフェンス イベントが発生したときの処理ロジックを追加する必要があります。 セットアップした MonitoredStates に応じて、次の場合にイベントを受け取ります。
- ユーザーが関心領域に入りました。
- ユーザーが関心領域から離れました。
- ジオフェンスが期限切れになったか、除去されました。除去イベントではバックグラウンド アプリがアクティブ化されないことに注意してください。
このトピックでは、バックグラウンド タスクがトリガーされたときのジオフェンス通知の処理方法を説明します。 「バックグラウンドでのジオフェンス イベントのリッスン」の説明に従ってバックグラウンド イベント リスナーをセットアップしていることを前提としています。 実行中のアプリから直接イベントを処理することもできます。 詳しくは、「フォアグラウンドでのジオフェンス通知の処理」と「ジオフェンスのガイドライン」をご覧ください。
バックグラウンド通知の処理
ユーザーに通知するためにとるアクションは、アプリの用途に応じて変わりますが、トースト通知の表示、サウンドの再生、ライブ タイルの更新などが考えられます。 次のコードは、通知を処理します。
function onCompleted() {
try {
// Update the UI with the completion status of the background task
// The Run method of the background task sets the LocalSettings.
var settings = Windows.Storage.ApplicationData.current.localSettings;
// get status
if (settings.values.hasKey("Status")) {
WinJS.log && WinJS.log(settings.values["Status"].toString(), "sample", "status");
}
// do your apps work here
} catch (ex) {
// The background task had an error
WinJS.log && WinJS.log(ex.toString(), "sample", "error");
}
}
関連トピック
ロードマップ
タスク
リファレンス
その他のリソース