收集身份数据

了解如何在移动应用程序中收集身份数据。

Adobe Experience Platform Identity Service通过跨设备和系统桥接身份,允许您实时提供有影响力的个人数字体验,从而帮助您更好地了解客户及其行为。 身份字段和命名空间是将不同数据源连接在一起的粘合剂,可构建360度实时客户档案。

在文档中了解有关Identity扩展Identity服务的更多信息。

先决条件

  • 在安装和配置SDK的情况下成功构建和运行应用程序。

学习目标

在本课程中,您将执行以下操作:

  • 设置自定义身份命名空间。
  • 更新身份。
  • 验证身份图。
  • 获取ECID和其他身份。

设置自定义身份命名空间

身份命名空间是身份服务的组件,充当与身份相关的上下文的指示器。 例如,它们将name@email.com的值区分为电子邮件地址或443522区分为数字CRM ID。

NOTE
Mobile SDK会在安装应用程序后在自身的命名空间中生成一个唯一标识,名为Experience CloudID (ECID)。 此ECID存储在移动设备上的永久内存中,随每次点击一起发送。 当用户卸载应用程序或将Mobile SDK全局隐私状态设置为选择退出时,将会删除ECID。 在示例Luma应用程序中,您应该删除并重新安装该应用程序,以使用它自己的唯一ECID创建新配置文件。

要创建新的身份命名空间,请执行以下操作:

  1. 在数据收集界面中,从左边栏导航中选择​ 标识

  2. 选择​ 创建身份命名空间

  3. 提供Luma CRM ID的​ 显示名称 ​和lumaCRMId的​ 标识符号 ​值。

  4. 选择​ 跨设备ID

  5. 选择​ 创建

    创建身份命名空间

更新身份

当用户登录应用程序时,您希望同时更新标准身份(电子邮件)和自定义身份(Luma CRM ID)。

  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对象作为对Edge Network的Identity.updateIdentities API调用的一部分发送。

      code language-swift
      Identity.updateIdentities(with: identityMap)
      
  2. 在Xcode项目导航器中导航到​ Luma > Luma > Views > General > 登录工作表,并找到要在选择​ 登录 ​按钮时执行的代码。 添加以下代码:

    code language-swift
    // Update identities
    MobileSDK.shared.updateIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
    
NOTE
您可以在单个updateIdentities调用中发送多个身份。 您还可以修改以前发送的身份。

删除身份

您可以使用Identity.removeIdentity API从存储的客户端标识映射中删除标识。 Identity扩展停止向Edge Network发送标识符。 使用此API不会从服务器端标识图中删除标识符。 有关身份图的详细信息,请参阅查看身份图

  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 = "112ca06ed53d3db37e4cea49cc45b71e"
    
  2. 在Xcode项目导航器中导航到​ Luma > Luma > Views > General > 登录工作表,并找到要在选择​ 注销 ​按钮时执行的代码。 添加以下代码:

    code language-swift
    // Remove identities
    MobileSDK.shared.removeIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
    

使用保证功能进行验证

  1. 查看设置说明部分以将模拟器或设备连接到Assurance。

  2. 在Luma应用程序中

    1. 选择​ 主页 ​选项卡,并将“保证”图标向左移动。

    2. 选择 右上角的 {width="15"}图标。

      {width="300"}

    3. 提供电子邮件地址和CRM ID,或者

    4. 选择 {width="15"}以随机生成​ 电子邮件 ​和​ CRM ID

    5. 选择​ 登录

      {width="300"}

  3. 在Assurance Web界面中查找来自​ com.adobe.griffon.mobile ​供应商的​ Edge标识更新标识 ​事件。

  4. 选择事件并查看​ ACPExtensionEventData ​对象中的数据。 您应该会看到已更新的身份。
    验证标识更新

使用身份图进行验证

完成Experience Platform课程中的步骤后,便可以在Platforms身份图查看器中确认身份捕获:

  1. 在数据收集UI中选择​ 标识

  2. 从顶部栏中选择​ 标识图

  3. 输入Luma CRM ID作为​ 身份命名空间,输入CRM ID (例如24e620e255734d8489820e74f357b5c8)作为​ 身份值

  4. 您看到列出了​ 标识

    验证身份图

INFO
应用程序中没有用于重置ECID的代码,这意味着您只能通过卸载和重新安装应用程序来重置ECID(并有效使用新的ECID创建新配置文件)。 要实施标识符的重置,请参阅Identity.resetIdentitiesMobileCore.resetIdentities API调用。 但是,请注意,在使用推送通知标识符时(请参阅发送推送通知),该标识符将成为设备上的另一个“粘性”配置文件标识符。
SUCCESS
现在,您已设置应用程序以更新Edge Network中的身份和(设置后)Adobe Experience Platform。
感谢您投入时间学习Adobe Experience Platform Mobile SDK。 如果您有任何疑问、希望分享一般反馈或有关于未来内容的建议,请在此Experience League社区讨论帖子上分享这些内容

下一步: 收集配置文件数据

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