---
title: ユーザーの位置情報とジオフェンシング
description: モバイル向けの位置情報追跡とジオフェンシング機能について学びましょう。
url: https://docs.tealium.com/ja/platforms/getting-started-mobile/location/
---
## サポートされているプラットフォーム

以下のプラットフォームでは、位置情報追跡とジオフェンシングがサポートされています：

- [Android](https://docs.tealium.com/ja/platforms/android-java/module-list/location/)
- [iOS](https://docs.tealium.com/ja/platforms/ios-swift/module-list/location/)

## 位置情報追跡

位置情報追跡とは、ユーザーのデバイスの地理的な位置（緯度と経度）を特定する能力のことです。位置情報追跡を許可するためには、アプリに対して許可を与える必要があります。

位置情報の更新は連続的に提供することができ、これにより精度が高まりますが、バッテリーの消費が増えます。

連続追跡が無効化されているか利用できない場合、明示的なメソッド呼び出しでユーザーの最後に知られている位置情報を取得することができます。このアプローチはバッテリーの消費を抑えることができ、リアルタイムの位置情報監視が必要ないアプリで使用できます。

以下の変数は、位置情報追跡の呼び出し毎にデータレイヤーに追加されます：

| 変数名 | タイプ | 説明 | 例             |
|---------------|-----|-------------|----------------------|
| `latitude`     | `String` | ユーザーの最近記録された位置の緯度 | `"32.9072"` |
| `longitude`    | `String` | ユーザーの最近記録された位置の経度 | `"-117.2367"` |
| `location_accuracy` | `String` | 精度構成、例えば `"high"` または `"low"` | `"high"`|

## ジオフェンシング

ジオフェンシングは、ユーザーの位置情報とユーザーの_geofence_への近接性を組み合わせた位置情報追跡サービスです。ジオフェンスとは、緯度、経度、半径で指定された関心領域を囲む仮想的な境界のことを指します。

ジオフェンシングでは、ユーザーのジオフェンスとの相互作用を追跡するために3つの遷移状態を使用します。これらの遷移状態はTealiumライブラリの追跡呼び出しをトリガーします。以下の遷移状態が監視されます：

| 遷移       | Tealiumイベント             | 説明 |
|------------------|-------------------------------------| --- |
| ジオフェンス入場 | `tealium_event="geofence_entered"`  | ユーザーがジオフェンスに入った |
| ジオフェンス退場 | `tealium_event="geofence_exited"`  | ユーザーがジオフェンスから出た |
| 滞在 | `tealium_event="geofence_dwell"` (Androidのみ)  | ユーザーがジオフェンス内で一定時間停止した |

ジオフェンシングの詳細は、[ジオフェンスファイル](#file-format)で定義し、アプリの初期化時に提供します。

以下の変数は、ジオフェンシングの遷移状態中に追跡されます：

| 変数名 | タイプ | 説明 | 例             |
|----------------------------|----------|-------------|----------------------|
| `tealium_event`            | `String` |  Tealiumが追跡するジオフェンスイベント：`"geofence_entered"`、`"geofence_exited"`、または`"geofence_dwell"` (Androidのみ) | `"geofence_entered"` |
| `geofence_name`            | `String` | ジオフェンス領域の名前 | `"Tealium San Diego"` |
| `geofence_transition_type` | `String` | ジオフェンス遷移イベントのタイプ | `"geofence_entered"`、`"geofence_exited"`、または`"geofence_dwell"`(Android) |
| `movement_speed`  (iOSのみ)         | `String` | ユーザーの瞬間的な速度、秒単位のメートルで測定 | `"1.0"` |
| `location_timestamp` (iOSのみ)     | `String` | ユーザーがジオフェンス領域に入った/出た日時（GMT）を記録 | `"2020-01-28 16:29:46 +0000"`|

## ジオフェンスファイル

ジオフェンシングは、アプリの初期化時にジオフェンスファイルが提供されると有効になります。ジオフェンスファイルには、関心のある地点の座標と追跡する遷移状態がJSON形式で含まれています。

ジオフェンスファイルを提供するには、ローカルファイルまたはホストされたURLの2つのオプションがあります。

### ファイル形式

ジオフェンスファイルを作成する際は、ファイル名を`geofences.json`とします。ジオフェンスは、以下の表に記載されている変数とともにキーと値のペアとして記述されます。

 ```json
[{
  "name": "Geofence_Name",
  "latitude": 0.000,
  "longitude": 0.000,
  "radius": 100,
  "expire_after": -1,
  "trigger_on_enter": true,
  "trigger_on_exit": false,
  "minimum_dwell_time": 0 },
 {
    ...
 }]
```

以下のプロパティが各ジオフェンスを定義します：

| パラメータ | タイプ | 説明 | 例 |
| :-------  | :--- | :---------- | :------ |
| `name` | `String` | ジオフェンスの名前をアンダースコアで区切った一意の文字列として指定します。スペース、絵文字、UTF-8エンコーディングでサポートされていない文字の使用は避けてください。 | `Geofence_Name` |
| `latitude` | `Number` | ジオフェンスの中心の緯度座標を`-90.0`から`90.0`の間の小数値で指定します。 | `0.000` |
| `longitude` | `Number` | ジオフェンスの中心の経度座標を`-180.0`から`180.0`の間の小数値で指定します。 | `0.000` |
| `radius` | `Number` | ジオフェンスの半径値をメートル単位で指定します。推奨値：`100`以上   | `100` |
| `expire_after` | `Number` | ジオフェンスが終了するまでの時間をミリ秒単位で指定します。（-1を構成すると期限がなくなります） | `-1` |
| `trigger_on_enter` | `Boolean` | ユーザーがエリアに入ったときにジオフェンスが追跡イベントを発火するかどうかを定義します。 | `true` |
| `trigger_on_exit` | `Boolean` | ユーザーがエリアから出たときにジオフェンスが追跡イベントを発火するかどうかを定義します。| `true` |
| `minimum_dwell_time` | `Number` | ユーザーがジオフェンスに入り、滞在すると追跡イベントが発火する時間をミリ秒単位で指定します。ユーザーがジオフェンスを繰り返し入退場するとイベントが繰り返し発火するのを避けるため、ほとんどの使用ケースで推奨されます。（`trigger_on_enter`が`true`に構成されている場合は`0`に構成します）  | `0` |
