Locationモジュール
Locationモジュールを使用すると、iOSアプリが位置情報を受信し、ジオフェンスを構成および監視できるようになります。位置追跡とジオフェンシングの詳細については、こちらを参照してください。
サポートされているプラットフォーム
以下のプラットフォームがサポートされています。
要件
- Tealium for Swift(1.9.0以降)
サンプルアプリ
当社のライブラリ、トラッキングメソッド、ベストプラクティスの実装に精通していただけるよう、iOSサンプルアプリをご確認いただけるようになっています。Locationモジュールはメインのサンプルアプリに含まれています。
インストール
LocationモジュールをSwift Package Manager、CocoaPods、またはCarthageによってインストールします。
Swift Package Manager(推奨)
LocationモジュールをSPMによってインストールするには:
レポジトリhttps://www.github.com/Tealium/tealium-swiftを使用して、Xcodeまたはコマンドラインツール内にSwiftパッケージを追加します。
Xcodeを使用する場合は、インストールプロセスで
TealiumLocation
ターゲットを選択します。コマンドラインを使用する場合は、Package.swift
ファイル内の依存関係のリストにTealiumLocation
モジュールを追加します。
フレームワークは自動でインスタンス化され、TealiumCore
に依存しており、ディスパッチャー(TealiumCollect
またはTealiumTagManagement
)が必要です。追加のインポートステートメントは必要ありません。
iOS向けSPMのインストールの詳細については、こちらを参照してください。
CocoaPods
LocationモジュールをCocoaPodsによってインストールするには、Podfileに以下のポッドを追加します。
pod 'tealium-swift/TealiumLocation'
フレームワークは自動でインスタンス化され、TealiumCore
ポッドに依存しており、ディスパッチャー(TealiumCollect
またはTealiumTagManagement
)が必要です。iOS向けCocoaPodsのインストールの詳細については、こちらを参照してください。
Carthage
LocationモジュールをCarthageによってインストールするには:
Xcodeで対象アプリの[General]構成ページに移動します。
以下のフレームワークを[Embedded Binaries]セクションに追加します。
TealiumLocation.framework
フレームワークは自動でインスタンス化され、
TealiumCore
に依存しており、ディスパッチャー(TealiumCollect
またはTealiumTagManagement
)が必要です。追加のインポートステートメントは必要ありません。iOS向けCarthageのインストールの詳細については、こちらを参照してください。
初期化
このモジュールをアプリに追加すると、位置追跡がデフォルトで有効になります。位置情報の精度とジオフェンシングの設定オプションは、TealiumConfig
のインスタンスのプロパティを使用して設定されます。
アクセス許可
位置情報を収集することをアプリに許可するには、次のキーをアプリのInfo.plist
ファイルに追加します。
Privacy - Location When In Use Usage Description
Privacy - Location Always and When In Use Usage Description
これらのキーが存在しない場合、位置情報リクエストはただちに失敗します。位置情報サービスの許可のリクエストの詳細については、こちらを参照してください。
位置追跡
Locationモジュールは継続的な位置追跡を実行します。位置情報の更新は、精度と距離という2つの設定に基づいています。
デフォルトでは、重要な位置情報の更新のみが監視されます。これにより、更新件数が少なくなり、バッテリーの消費量が少なくなります。
より高精度の更新を有効にするには、useHighAccuracy
プロパティをtrue
に設定し、updateDistance
プロパティを更新がトリガーされる値(メートル単位)に設定します。
func start() {
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
datasource: "DATASOURCE",
optionalData: nil)
config.useHighAccuracy = true
config.updateDistance = 150
//...
}
ジオフェンシング
ジオフェンシングを有効にするには、次のいずれかの方法で、ジオフェンスJSONファイルを指定します。
ホスト型URL プロパティ
geofenceUrl
へのURLとして指定されている独自のホスト型ジオフェンスファイルを使用します。 このオプションは、公開設定URLをオーバーライドした場合、またはホスト型データレイヤーを使用する必要がある場合に推奨されます。config.geofenceUrl = "https://example.com/geofences.json"
ローカルファイル プロパティ
geofenceFileName
を設定して、アプリに保存されているジオフェンスファイルを使用します。ファイル拡張子は省略します。config.geofenceFileName = "geofences" // geofences.json
追加の検討事項
アクティブなジオフェンスの数 ジオフェンスは、可能な限り少ないリソースを使用して動的に追加および削除されます。定義できるジオフェンスの数に制限はありませんが、アクティブなジオフェンスの数は、実行中の_全_アプリケーションにわたって、デバイスユーザーあたり20個までに制限されています。
ジオフェンスの初期化
作成時にユーザーがジオフェンス内にいる場合、"enter"
遷移イベントはトリガーされません。これは、"exit"
および"enter"
の遷移イベントが境界を横断するときにトリガーされ、境界内に存在するときにはトリガーされないためです。
データレイヤー
以下の変数は、モバイルデータレイヤーの一部としてLocationモジュールによって値が入力されます。これらの変数はライブラリから自動的に各トラッキングコールに含まれます。
変数名 | 型 | 説明 | 例 |
---|---|---|---|
latitude |
String |
最後に記録されたユーザーの位置の緯度 | "32.906119" |
longitude |
String |
最後に記録されたユーザーの位置の経度 | "-117.2367" |
location_accuracy |
String |
Locationモジュールの精度設定("high" 、"low" など) |
"high" |
ジオフェンシング中にユーザーの遷移状態が変化すると、位置データを含むトラッキングコールが送信されます。遷移状態の変化には、ジオフェンスへのユーザーの入退出が含まれます。以下の追加の変数がデータレイヤーに送信されます。
変数名 | 型 | 説明 | 例 |
---|---|---|---|
tealium_event |
String |
Tealiumのトラッキング対象ジオフェンスイベント | "geofence_entered" または"geofence_exited" |
geofence_name |
String |
ジオフェンス地域の名前 | "Tealium_San_Diego" |
geofence_transition_type |
String |
ジオフェンス遷移イベントのタイプ | "geofence_entered" または"geofence_exited" |
movement_speed |
String |
デバイスの瞬間速度(メートル/秒で測定) | "1.0" |
location_timestamp |
String |
ユーザーがジオフェンス地域に進入/退出したときに記録された日付/時刻(GMT) | "2020-01-28 16:29:46 +0000" |
APIリファレンス
Locationモジュールで使用されるメソッドのリファレンスについては、Tealium SDK for iOS APIのTealiumConfig
クラスを参照してください。