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 として区別します。

NOTE
Mobile SDKは、アプリのインストール時にExperience Cloud ID (ECID)という名前の一意の ID を独自の名前空間内に生成します。 この ECID は、モバイルデバイスの永続メモリに保存され、ヒットごとに送信されます。 ECID は、ユーザーがアプリをアンインストールするとき、またはユーザーが Mobile SDK グローバルプライバシーステータスをオプトアウトに設定するとき、削除されます。 サンプル Luma アプリでは、アプリを削除して再インストールし、独自の一意の ECID を持つ新しいプロファイルを作成する必要があります。

ID 名前空間を新規作成するには:

  1. データ収集インターフェイスで、左側のナビゲーションバーから ID を選択します。

  2. ID 名前空間を作成」を選択します。

  3. 表示名 Luma CRM ID ID シンボル lumaCRMId 値を指定します。

  4. クロスデバイス ID を選択します。

  5. 作成」を選択します。

    ID 名前空間を作成 {modal="regular"}

ID の更新

ユーザーがアプリにログインしたときに、標準 ID (メール)とカスタム ID (Luma CRM ID)の両方を更新するとします。

iOS
  1. 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)
    

    このコード:

    1. 空の IdentityMap オブジェクトを作成します。

      code language-swift
      let identityMap: IdentityMap = IdentityMap()
      
    2. メールおよび CRM ID の IdentityItem オブジェクトを設定します。

      code language-swift
      let emailIdentity = IdentityItem(id: emailAddress, authenticatedState: AuthenticatedState.authenticated)
      let crmIdentity = IdentityItem(id: crmId, authenticatedState: AuthenticatedState.authenticated)
      
    3. これらの IdentityItem オブジェクトを IdentityMap オブジェクトに追加します。

      code language-swift
      identityMap.add(item:emailIdentity, withNamespace: "Email")
      identityMap.add(item: crmIdentity, withNamespace: "lumaCRMId")
      
    4. IdentityItem オブジェクトを Identity.updateIdentities API 呼び出しの一部としてEdge Networkに送信します。

      code language-swift
      Identity.updateIdentities(with: identityMap)
      
  2. Xcode プロジェクトナビゲーターで Luma/Luma/Views/General/LoginSheet に移動し、「ログイン」ボタンを選択するときに実行するコードを見つけます。 次のコードを追加します。

    code language-swift
    // Update identities
    MobileSDK.shared.updateIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
    
Android
  1. Android Studio ナビゲーターで Android ChevronDown /app/kotlin+java/com.adobe.luma.tutorial.android/models/MobileSDK に移動し、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)
    

    このコード:

    1. 空の IdentityMap オブジェクトを作成します。

      code language-kotlin
      val identityMap = IdentityMap()
      
    2. メールおよび CRM ID の IdentityItem オブジェクトを設定します。

      code language-kotlin
      val emailIdentity = IdentityItem(emailAddress, AuthenticatedState.AUTHENTICATED, true)
      val crmIdentity = IdentityItem(crmId, AuthenticatedState.AUTHENTICATED, true)
      
    3. これらの IdentityItem オブジェクトを IdentityMap オブジェクトに追加します。

      code language-kotlin
      identityMap.addItem(emailIdentity, "Email")
      identityMap.addItem(crmIdentity, "lumaCRMId")
      
    4. IdentityItem オブジェクトを Identity.updateIdentities API 呼び出しの一部としてEdge Networkに送信します。

      code language-kotlin
      Identity.updateIdentities(identityMap)
      
  2. Android Studio ナビゲーターで Android ChevronDown /app/kotlin+java/com.adobe.luma.tutorial.android/views/LoginSheet.kt に移動し、「ログイン」ボタンをクリックするときに実行するコードを見つけます。 次のコードを追加します。

    code language-kotlin
    // Update identities
    MobileSDK.shared.updateIdentities(
       MobileSDK.shared.currentEmailId.value,
       MobileSDK.shared.currentCRMId.value
    )
    
NOTE
1 回の updateIdentities 呼び出しで複数の ID を送信できます。 以前に送信した ID を変更することもできます。

ID を削除

Identity.removeIdentity API を使用して、保存されたクライアントサイド ID マップから ID を削除できます。 ID 拡張機能は、Edge Networkへの識別情報の送信を停止します。 この API を使用しても、サーバーサイドの ID グラフから識別子が削除されることはありません。 ID グラフについて詳しくは、ID グラフの表示を参照してください。

iOS
  1. 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"
    
  2. Xcode プロジェクトナビゲーターで Luma/Luma/Views/General/LoginSheet に移動し、「ログアウト」ボタンを選択するときに実行するコードを見つけます。 次のコードを追加します。

    code language-swift
    // Remove identities
    MobileSDK.shared.removeIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
    
Android
  1. Android Studio ナビゲーターで Android ChevronDown /app/kotlin+java/com.adobe.luma.tutorial.android/models/MobileSDK に移動し、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
// Remove identities
MobileSDK.shared.removeIdentities(
   MobileSDK.shared.currentEmailId.value,
   MobileSDK.shared.currentCRMId.value
)

Assurance での検証

  1. 設定手順の節を参照して、シミュレーターまたはデバイスをAssuranceに接続します。

  2. Luma アプリ内

    1. ホーム」タブを選択し、「Assurance」アイコンを左に動かします。
    2. 右上の ユーザー アイコンを選択します。
iOS
{width="300"}
Android
{width="300"}

ID 画面で、次の操作を行います。

  1. メールアドレスと CRM ID を入力する
  2. A を選択 E メール)および CRM ID をランダムに生成するには、|(iOS)または ランダムな E メールを生成 Android を使用します。
  3. ログイン を選択します。
iOS
{width="300"}
Android
{width="300"}

Assuranceに戻る:

  1. com.adobe.griffon.mobile ベンダーからの Edge ID 更新 ID イベントについて、Assurance Web インターフェイスを調べます。

  2. イベントを選択し、ACPExtensionEventData オブジェクトのデータを確認します。 更新した ID が表示されます。

    id 更新の検証 {modal="regular"}

ID グラフを使用して検証

Experience Platformのレッスンの手順を完了したら、Experience Platform ID グラフビューアで ID の取り込みを確認できます。

  1. データ収集 UI で ID を選択します。

  2. 上部バーの「ID グラフ」を選択します。

  3. Luma CRM IDID 名前空間 として を入力し、24e620e255734d8489820e74f357b5c8ID 値 として CRM ID (例:)を入力します。

  4. ID が表示されます。

    id グラフを検証 {modal="regular"}

INFO
ECID をリセットするコードがアプリにありません。 アプリケーションのアンインストールと再インストールを行って実行できるのは、ECID をリセットすること(および新しい ECID を持つ新しいプロファイルを効果的に作成すること)のみです。 識別子のリセットを実装するには、Identity.resetIdentities および MobileCore.resetIdentities API 呼び出しを参照してください。 プッシュ通知識別子を使用すると( プッシュ通知の送信を参照)、その識別子はデバイス上で別の「固定」プロファイル識別子になります。
SUCCESS
これで、Edge Networkおよび(設定時に)Adobe Experience Platformで ID を更新するアプリの設定が完了しました。
Adobe Experience Platform Mobile SDKの学習にご協力いただき、ありがとうございます。 ご不明な点がある場合や、一般的なフィードバックをお寄せになる場合、または今後のコンテンツに関するご提案がある場合は、この Experience League Community Discussion の投稿でお知らせください

次のトピック:プロファイル・データの収集

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b