バックグラウンド タスクからのジオフェンス通知の処理 (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");
    }
}

関連トピック

ロードマップ

JavaScript を使ったアプリのためのロードマップ

アプリの UX の設計

タスク

ジオフェンスのセットアップ

フォアグラウンドでのジオフェンス通知の処理

バックグラウンドでのジオフェンス イベントのリッスン

リファレンス

Geoshape

Geofence

Geolocator

その他のリソース

Windows 10 の地理位置情報のサンプル

Windows 8.1 の地理位置情報のサンプル

ジオフェンスのガイドライン