場所を使用
アプリで Places ジオロケーションサービスを使用する方法を説明します。
Adobe Experience Platform Data Collection Places Service は、位置認識機能を備えたモバイルアプリが位置のコンテキストを理解できるようにする位置情報サービスです。 このサービスは、豊富で使いやすいSDK インターフェイスと、柔軟な目標地点(POI)データベースを使用しています。
前提条件
- すべてのパッケージの依存関係は、Xcode プロジェクトに配置されます。
- AppDelegate に拡張機能を登録しました。
- 開発 appId を使用するように MobileCore を設定します。
- SDK を読み込みました。
- 上記の変更を含むアプリが正常に作成され、実行されました。
学習目標
このレッスンでは、次の操作を行います
- Places サービスで目標地点を定義する方法を理解します。
- 場所の拡張機能でタグプロパティを更新します。
- 位置情報イベントを取り込むようにスキーマを更新します。
- Assuranceの設定を検証します。
- アプリを更新して、Places 拡張機能を登録します。
- アプリの Places サービスから位置情報トラッキングを実装します。
セットアップ
Places サービスがアプリ内および Mobile SDK内で機能するには、いくつかの設定を行う必要があります。
場所を定義
Places サービスでいくつかの目標点を定義します。
-
データ収集 UI で、「場所」を選択します。
-
-
コンテキストメニューから、「ライブラリを管理」を選択します。
-
ライブラリを管理 ダイアログで、「新規」を選択します。
-
ライブラリを作成 ダイアログで 名前 を入力(例:
Luma
)。 -
「確認」を選択します。
-
ライブラリを管理 ダイアログを閉じるには、「閉じる」を選択します。
-
POI 管理 に戻り、「POI を読み込み」を選択します。
-
場所を読み込み ダイアログで 開始 を選択します。
-
ライブラリのリストから Luma を選択します。
-
「次へ」を選択します。
-
Luma POI ZIP ファイルをダウンロードしコンピューター上の場所に抽出します。
-
場所を読み込み ダイアログで、抽出した
luma_pois.csv
ファイルをにドラッグ&ドロップします CSV ファイルを選択 – ファイルをドラッグ&ドロップ。 検証成功 - CSV ファイルの検証に成功しました と表示されます。 -
読み込みを開始 を選択します。 成功 - 6 つの新しい POI が正常に追加されました が表示されます。
-
「完了」を選択します。
-
POI 管理 で、6 つの新しい Luma ストアがリストに追加されます。
。
Places 拡張機能のインストール
-
タグ に移動し、モバイルタグプロパティを見つけてプロパティを開きます。
-
拡張機能 を選択します。
-
カタログ を選択します。
-
場所 拡張機能を検索します。
-
拡張機能をインストールします。
-
拡張機能をインストール ダイアログで、次の手順を実行します。
-
Luma ライブラリを選択 リストから「」を選択します。
-
初期ビルド など、作業ライブラリが選択されていることを確認します。
-
ライブラリに保存 から ライブラリとビルドに保存 を選択します。
ます。
-
-
ライブラリが再構築されます。
スキーマの検証
スキーマを作成で定義されているように、スキーマに POI およびジオロケーションデータを収集するために必要なフィールドグループとクラスが含まれているかどうかを確認します。
-
データ収集インターフェイスに移動し、左パネルから スキーマ を選択します。
-
上部のバーから 参照 を選択します。
-
スキーマを選択して開きます。
-
スキーマエディターで、「消費者エクスペリエンスイベント」を選択します。
-
POI インタラクションと位置情報データをキャプチャするオブジェクトとフィールドを持つ placeContext オブジェクトが表示されます。
.
タグプロパティの更新
タグの Places 拡張機能は、位置情報イベントを監視する機能を提供し、それらのイベントに基づいてアクションをトリガーに設定できるようにします。 この機能を使用すると、アプリに実装する必要がある API コーディングを最小限に抑えることができます。
データ要素
最初に、複数のデータ要素を作成します。
-
データ収集 UI のタグプロパティに移動します。
-
左パネルから データ要素 を選択します。
-
「データ要素を追加」を選択します。
-
データ要素を作成 画面で、名前(例:
Name - Entered
)を入力します。 -
拡張機能 リストから「場所」を選択します。
-
データ要素タイプ リストから 名前 を選択します。
-
TARGET の下の 現在の POI を選択します。
-
ライブラリに保存 を選択します。
-
以下の表の情報を使用して手順 4 ~ 8 を繰り返し、追加のデータ要素を作成します。
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 名前 拡張機能 データ要素タイプ ターゲット Name - Exited
Places 名前 前回離脱した POI Category - Current
Places カテゴリ 現在の POI Category - Exited
Places カテゴリ 前回離脱した POI City - Current
Places 市区町村 現在の POI City - Exited
Places 市区町村 前回離脱した POI 次のデータ要素のリストが表示されます。
ルール
次に、これらのデータ要素を操作するためのルールを定義します。
-
タグプロパティで、左パネルから ルール を選択します。
-
「ルールを追加」を選択します。
-
ルールを作成 画面で、ルールの名前(例:
POI - Entry
)を入力します。 -
- 拡張機能 リストから 場所 を選択し、イベントタイプ リストから POI を入力 を選択します。
- 「変更を保持」を選択します。
-
-
拡張機能 リストから Mobile Core を選択し、アクションタイプ リストから データを添付 を選択します。 ペイロードデータを添付します。
-
JSON ペイロード に、次のペイロードを貼り付けます。
code language-json { "xdm": { "eventType": "location.entry", "placeContext": { "geo": { "city": "{%%City - Current%%}" }, "POIinteraction": { "poiDetail": { "name": "{%%Name - Current%%}", "category": "{%%Category - Current%%}" }, "poiEntries": { "value": 1 } } } } }
また、「
{%% ... %%}
Data -
「変更を保持」を選択します。
-
-
- 拡張機能 リストから Adobe Experience Platform Edge Network を選択し、「イベントをEdge Networkに転送」を選択します。 これにより、イベントと追加のペイロードデータが Platform Edge Networkに転送されます。
- 「変更を保持」を選択します。
-
ルールを保存するには、「ライブラリに保存」を選択します。
別のルールを作成しましょう
-
ルールを作成 画面で、ルールの名前(例:
POI - Exit
)を入力します。 -
- 拡張機能 リストから 場所 を選択し、イベントタイプ リストから POI を終了 を選択します。
- 「変更を保持」を選択します。
-
-
拡張機能 リストから Mobile Core を選択し、アクションタイプ リストから データを添付 を選択します。
-
JSON ペイロード に、次のペイロードを貼り付けます。
code language-json { "xdm": { "eventType": "location.exit", "placeContext": { "geo": { "city": "{%%City - Exited%%}" }, "POIinteraction": { "poiExits": { "value": 1 }, "poiDetail": { "name": "{%%Name - Exited%%}", "category": "{%%Category - Exited%%}" } } } } }
-
「変更を保持」を選択します。
-
-
- 拡張機能 リストから Adobe Experience Platform Edge Network を選択し、「イベントをEdge Networkに転送」を選択します。
- 「変更を保持」を選択します。
-
ルールを保存するには、「ライブラリに保存」を選択します。
タグ内のすべての変更が公開されていることを確認するには
-
ビルドするライブラリとして 初期ビルド を選択します。
-
ビルド を選択します。
Assuranceでの設定の検証
Assuranceの設定を検証するには:
-
Assurance UI に移動します。
-
左側のパネルに まだ表示されていない場合は、左側のパネルの「 設定
-
「保存」を選択します。
-
左パネルで「マップとシミュレート」を選択します。
-
POI のいずれかの場所にマップを移動します。
-
「
-
POI を選択します。
-
ポップアップから、「
-
左パネルから イベント を選択すると、シミュレーションしたイベントが表示されます。
アプリへの Places の実装
前のレッスンで説明したように、モバイルタグ拡張機能をインストールしても、設定のみが提供されます。 次に、場所SDKをインストールして登録する必要があります。 これらの手順が明確でない場合は、「SDK のインストール の節を参照しください。
-
Xcode で、AEP Places がパッケージの依存関係のパッケージの一覧に追加されていることを確認します。 Swift パッケージマネージャーを参照してください。
-
Xcode プロジェクトナビゲーターで Luma/Luma/AppDelegate に移動します。
-
AEPPlaces
が読み込みのリストに含まれていることを確認します。code language-swift import AEPPlaces
-
Places.self
が、登録している拡張機能の配列の一部であることを確認します。code language-swift let extensions = [ AEPIdentity.Identity.self, Lifecycle.self, Signal.self, Edge.self, AEPEdgeIdentity.Identity.self, Consent.self, UserProfile.self, Places.self, Messaging.self, Optimize.self, Assurance.self ]
-
Xcode プロジェクトナビゲーターで Luma/Luma/Utils/MobileSDK に移動し、
func processRegionEvent(regionEvent: PlacesRegionEvent, forRegion region: CLRegion) async
関数を見つけます。 次のコードを追加します。code language-swift // Process geolocation event Places.processRegionEvent(regionEvent, forRegion: region)
この
Places.processRegionEvent
API は、位置情報を Places サービスに送信します。 -
Xcode のプロジェクトナビゲーターで Luma/Luma/Views/Location/GeofenceSheet に移動します。
-
「入力」ボタンに、次のコードを入力します。
code language-swift // Simulate geofence entry event Task { await MobileSDK.shared.processRegionEvent(regionEvent: .entry, forRegion: region) }
-
「終了」ボタンに、次のコードを入力します。
code language-swift // Simulate geofence exit event Task { await MobileSDK.shared.processRegionEvent(regionEvent: .exit, forRegion: region) }
-
-
Android Studio で、aepsdk-places-android が Android:app ChevronDown Gradle Scripts
-
Android Studio プロジェクトナビゲーターで Android
-
com.adobe.marketing.mobile.Messaging
が読み込みのリストに含まれていることを確認します。import import com.adobe.marketing.mobile.Places
-
Places.EXTENSION
が、登録している拡張機能の配列の一部であることを確認します。code language-kotlin val extensions = listOf( Identity.EXTENSION, Lifecycle.EXTENSION, Signal.EXTENSION, Edge.EXTENSION, Consent.EXTENSION, UserProfile.EXTENSION, Places.EXTENSION, Messaging.EXTENSION, Optimize.EXTENSION, Assurance.EXTENSION )
-
Android Studio プロジェクトナビゲーターで、Android
suspend fun processGeofence(geofence: Geofence?, transitionType: Int)
関数を検索します。 次のコードを追加します。code language-kotlin // Process geolocation event Places.processGeofence(geofence, transitionType)
この
Places.processRegionEvent
API は、位置情報を Places サービスに送信します。 -
Android Studio プロジェクトナビゲーターで、Android
-
「入力」ボタンに、次のコードを入力します。
code language-kotlin // Simulate geofence entry event coroutineScope.launch { MobileSDK.shared.processGeofence( region, Geofence.GEOFENCE_TRANSITION_ENTER ) }
-
「終了」ボタンに、次のコードを入力します。
code language-kotlin // Simulate geofence entry event coroutineScope.launch { MobileSDK.shared.processGeofence( region, Geofence.GEOFENCE_TRANSITION_EXIT ) }
-
アプリを使用した検証
アプリでジオロケーション機能を検証するには:
-
アプリをデバイスまたはシミュレーターで開きます。
-
「Location」タブに移動します。
-
マップを移動(ドラッグ)して、青い中央の円がいずれかの POI (例:ロンドン)の上にあることを確認します。
-
タップ カテゴリと名前がラベルの赤い場所にピンと共に表示されるまで
-
POI のラベルをタップすると、近くの POI シートが開きます。
-
Entry または Exit ボタンを押して、アプリからのジオフェンスの入口イベントと出口イベントをシミュレートします。
-
Assurance UI にイベントが表示されます。 イベントと Places Service イベントの両方で。
-
「Location」タブに移動します。
-
ジオフェンスを使用またはシミュレート を選択します。
-
表示される赤い円の中のどこかをタップします。
-
Entry または Exit ボタンを押して、アプリからのジオフェンスの入口イベントと出口イベントをシミュレートします。
-
Assurance UI にイベントが表示されます。
次の手順
これで、アプリのジオロケーション機能にさらに機能を追加するためのツールがすべて揃いました。 イベントをEdge Networkに転送したので、Experience Platform のアプリを設定すると、アプリで使用されるプロファイルにエクスペリエンスイベントが表示されます。
このチュートリアルのJourney Optimizerの節では、エクスペリエンスイベントを使用してジャーニーをトリガーJourney Optimizerできることを確認します( プッシュ通知および アプリ内メッセージを参照)。 例えば、通常の例では、アプリユーザーが物理的なストアのジオフェンスに入ると、製品プロモーションを伴うプッシュ通知が送信されます。
アプリのジオロケーション機能のこの実装により、コードが最小限に抑えられます。 タグプロパティで定義した Places サービス、データ要素、ルールが、ほとんどの機能を提供します。 または、入力された Edge.sendEvent
オブジェクトを含む XDM ペイロードで、 API (詳しくはイベント placeContext
を参照)を使用して、同じ機能をアプリに直接実装できます。
次のトピック:Adobe Analyticsへのデータのマッピング