ID データの収集
モバイルアプリで ID データを収集する方法を説明します。
Adobe Experience Platform ID サービスを使用すると、顧客とその行動をより確実に把握できます。 このサービスは、デバイスやシステム間で ID を結び付け、インパクトのある個人的なデジタルエクスペリエンスをリアルタイムで提供できます。 ID フィールドと名前空間は、異なるデータソースを結合して 360 度リアルタイム顧客プロファイルを作成する接着剤です。
ID 拡張機能および ID サービスについて詳しくは、ドキュメントを参照してください。
前提条件
- SDK がインストールおよび設定された状態で、アプリケーションが正常に構築および実行されました。
学習目標
このレッスンでは、次の操作を行います。
- カスタム ID 名前空間を設定します。
- ID を更新します。
- ID グラフを検証します。
- ECID およびその他の ID を取得します。
カスタム ID 名前空間の設定
ID 名前空間は、ID の関連先コンテキストのインジケーターとして機能する ID サービスのコンポーネントです。 例えば、値 name@email.com
をメールアドレスとして、または 443522
を数値 CRM ID として区別します。
ID 名前空間を新規作成するには:
-
データ収集インターフェイスで、左側のナビゲーションバーから ID を選択します。
-
「ID 名前空間を作成」を選択します。
-
の 表示名
Luma CRM ID
と の ID シンボルlumaCRMId
値を指定します。 -
クロスデバイス ID を選択します。
-
「作成」を選択します。
ID の更新
ユーザーがアプリにログインしたときに、標準 ID (メール)とカスタム ID (Luma CRM ID)の両方を更新するとします。
-
Xcode プロジェクトナビゲーターで Luma/Luma/Utils/MobileSDK に移動し、
func updateIdentities(emailAddress: String, crmId: String)
関数の実装を見つけます。 関数に次のコードを追加します。code language-swift // Set up identity map, add identities to map and update identities let identityMap: IdentityMap = IdentityMap() let emailIdentity = IdentityItem(id: emailAddress, authenticatedState: AuthenticatedState.authenticated) let crmIdentity = IdentityItem(id: crmId, authenticatedState: AuthenticatedState.authenticated) identityMap.add(item:emailIdentity, withNamespace: "Email") identityMap.add(item: crmIdentity, withNamespace: "lumaCRMId") Identity.updateIdentities(with: identityMap)
このコード:
-
空の
IdentityMap
オブジェクトを作成します。code language-swift let identityMap: IdentityMap = IdentityMap()
-
メールおよび CRM ID の
IdentityItem
オブジェクトを設定します。code language-swift let emailIdentity = IdentityItem(id: emailAddress, authenticatedState: AuthenticatedState.authenticated) let crmIdentity = IdentityItem(id: crmId, authenticatedState: AuthenticatedState.authenticated)
-
これらの
IdentityItem
オブジェクトをIdentityMap
オブジェクトに追加します。code language-swift identityMap.add(item:emailIdentity, withNamespace: "Email") identityMap.add(item: crmIdentity, withNamespace: "lumaCRMId")
-
IdentityItem
オブジェクトをIdentity.updateIdentities
API 呼び出しの一部としてEdge Networkに送信します。code language-swift Identity.updateIdentities(with: identityMap)
-
-
Xcode プロジェクトナビゲーターで Luma/Luma/Views/General/LoginSheet に移動し、「ログイン」ボタンを選択するときに実行するコードを見つけます。 次のコードを追加します。
code language-swift // Update identities MobileSDK.shared.updateIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
-
Android Studio ナビゲーターで Android
fun updateIdentities(emailAddress: String, crmId: String)
関数の実装を探します。 関数に次のコードを追加します。code language-kotlin // Set up identity map, add identities to map and update identities val identityMap = IdentityMap() val emailIdentity = IdentityItem(emailAddress, AuthenticatedState.AUTHENTICATED, true) val crmIdentity = IdentityItem(crmId, AuthenticatedState.AUTHENTICATED, true) identityMap.addItem(emailIdentity, "Email") identityMap.addItem(crmIdentity, "lumaCRMId") Identity.updateIdentities(identityMap)
このコード:
-
空の
IdentityMap
オブジェクトを作成します。code language-kotlin val identityMap = IdentityMap()
-
メールおよび CRM ID の
IdentityItem
オブジェクトを設定します。code language-kotlin val emailIdentity = IdentityItem(emailAddress, AuthenticatedState.AUTHENTICATED, true) val crmIdentity = IdentityItem(crmId, AuthenticatedState.AUTHENTICATED, true)
-
これらの
IdentityItem
オブジェクトをIdentityMap
オブジェクトに追加します。code language-kotlin identityMap.addItem(emailIdentity, "Email") identityMap.addItem(crmIdentity, "lumaCRMId")
-
IdentityItem
オブジェクトをIdentity.updateIdentities
API 呼び出しの一部としてEdge Networkに送信します。code language-kotlin Identity.updateIdentities(identityMap)
-
-
Android Studio ナビゲーターで Android
code language-kotlin // Update identities MobileSDK.shared.updateIdentities( MobileSDK.shared.currentEmailId.value, MobileSDK.shared.currentCRMId.value )
updateIdentities
呼び出しで複数の ID を送信できます。 以前に送信した ID を変更することもできます。ID を削除
Identity.removeIdentity
API を使用して、保存されたクライアントサイド ID マップから ID を削除できます。 ID 拡張機能は、Edge Networkへの識別情報の送信を停止します。 この API を使用しても、サーバーサイドの ID グラフから識別子が削除されることはありません。 ID グラフについて詳しくは、ID グラフの表示を参照してください。
-
Xcode プロジェクトナビゲーターで Luma/Luma/Utils/MobileSDK に移動し、
func removeIdentities(emailAddress: String, crmId: String)
関数に次のコードを追加します。code language-swift // Remove identities and reset email and CRM Id to their defaults Identity.removeIdentity(item: IdentityItem(id: emailAddress), withNamespace: "Email") Identity.removeIdentity(item: IdentityItem(id: crmId), withNamespace: "lumaCRMId") currentEmailId = "testUser@gmail.com" currentCRMId = "b642b4217b34b1e8d3bd915fc65c4452"
-
Xcode プロジェクトナビゲーターで Luma/Luma/Views/General/LoginSheet に移動し、「ログアウト」ボタンを選択するときに実行するコードを見つけます。 次のコードを追加します。
code language-swift // Remove identities MobileSDK.shared.removeIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
-
Android Studio ナビゲーターで Android
fun removeIdentities(emailAddress: String, crmId: String)
関数に次のコードを追加します。code language-kotlin // Remove identities and reset email and CRM Id to their defaults Identity.removeIdentity(IdentityItem(emailAddress), "Email") Identity.removeIdentity(IdentityItem(crmId), "lumaCRMId") currentEmailId.value = "testUser@gmail.com" currentCRMId.value = "112ca06ed53d3db37e4cea49cc45b71e"
1. Android Studio ナビゲーターで app > kotlin+java > com.adobe.luma.tutorial.android > views > LoginSheet.kt に移動し、「ログアウト」ボタンをクリックするときに実行するコードを見つけます。 次のコードを追加します。
code language-kotlin |
---|
|
Assurance での検証
-
設定手順の節を参照して、シミュレーターまたはデバイスをAssuranceに接続します。
-
Luma アプリ内
- 「ホーム」タブを選択し、「Assurance」アイコンを左に動かします。
- 右上の


ID 画面で、次の操作を行います。
- メールアドレスと CRM ID を入力する
- A を選択 E メール)および CRM ID をランダムに生成するには、|(iOS)または ランダムな E メールを生成 Android を使用します。
- ログイン を選択します。


Assuranceに戻る:
-
com.adobe.griffon.mobile ベンダーからの Edge ID 更新 ID イベントについて、Assurance Web インターフェイスを調べます。
-
イベントを選択し、ACPExtensionEventData オブジェクトのデータを確認します。 更新した ID が表示されます。
ID グラフを使用して検証
Experience Platformのレッスンの手順を完了したら、Experience Platform ID グラフビューアで ID の取り込みを確認できます。
-
データ収集 UI で ID を選択します。
-
上部バーの「ID グラフ」を選択します。
-
Luma CRM ID
ID 名前空間 として を入力し、24e620e255734d8489820e74f357b5c8
ID 値 として CRM ID (例:)を入力します。 -
ID が表示されます。
Identity.resetIdentities
および MobileCore.resetIdentities
API 呼び出しを参照してください。 プッシュ通知識別子を使用すると( プッシュ通知の送信を参照)、その識別子はデバイス上で別の「固定」プロファイル識別子になります。次のトピック:プロファイル・データの収集