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
の 表示名 とlumaCRMId
の ID シンボル 値を指定します。 -
クロスデバイス 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")
-
Identity.updateIdentities
API 呼び出しの一部としてIdentityItem
オブジェクトを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)
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 = "112ca06ed53d3db37e4cea49cc45b71e"
-
Xcode プロジェクトナビゲーターで Luma/Luma/Views/General/LoginSheet に移動し、「ログアウト」ボタンを選択するときに実行するコードを見つけます。 次のコードを追加します。
code language-swift // Remove identities MobileSDK.shared.removeIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
Assurance での検証
-
シミュレーターまたはデバイスを Assurance に接続するには、「 設定手順」セクションを確認してください。
-
Luma アプリ内
-
ホーム タブを選択し、Assurance アイコンを左に移動します。
-
「」を選択します アイコン {width="15"} 右上から選択します。
{width="300"}
-
メールアドレスと CRM ID を入力する
-
選択 E メール および CRM ID をランダムに生成で {width="15"} ません。
-
ログイン を選択します。
{width="300"}
-
-
com.adobe.griffon.mobile ベンダーの Edge ID 更新 ID イベントの Assurance Web インターフェイスを確認します。
-
イベントを選択し、ACPExtensionEventData オブジェクトのデータを確認します。 更新した ID が表示されます。
ID グラフを使用して検証
Experience Platformのレッスンの手順を完了すると、Platform ID グラフビューアで ID 取得を確認できます。
-
データ収集 UI で ID を選択します。
-
上部バーの「ID グラフ」を選択します。
-
ID 名前空間 として
Luma CRM ID
を入力し、ID 値 として CRM ID (例:24e620e255734d8489820e74f357b5c8
)を入力します。 -
ID が表示されます。
Identity.resetIdentities
および MobileCore.resetIdentities
API 呼び出しを参照してください。 ただし、プッシュ通知識別子を使用する場合( プッシュ通知の送信を参照)、その識別子は、デバイス上で別の「固定」プロファイル識別子になります。次のトピック:プロファイル・データの収集