收集身份数据
了解如何在移动应用程序中收集身份数据。
Adobe Experience Platform Identity Service通过跨设备和系统桥接身份,允许您实时提供有影响力的个人数字体验,从而帮助您更好地了解客户及其行为。 身份字段和命名空间是将不同数据源连接在一起的粘合剂,可构建360度实时客户档案。
在文档中了解有关Identity扩展和Identity服务的更多信息。
先决条件
- 在安装和配置SDK的情况下成功构建和运行应用程序。
学习目标
在本课程中,您将执行以下操作:
- 设置自定义身份命名空间。
- 更新身份。
- 验证身份图。
- 获取ECID和其他身份。
设置自定义身份命名空间
身份命名空间是身份服务的组件,充当与身份相关的上下文的指示器。 例如,它们将name@email.com
的值区分为电子邮件地址或443522
区分为数字CRM ID。
要创建新的身份命名空间,请执行以下操作:
-
在数据收集界面中,从左边栏导航中选择 标识。
-
选择 创建身份命名空间。
-
提供
Luma CRM ID
的 显示名称 和lumaCRMId
的 标识符号 值。 -
选择 跨设备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
对象作为对Edge Network的Identity.updateIdentities
API调用的一部分发送。code language-swift Identity.updateIdentities(with: identityMap)
-
-
在Xcode项目导航器中导航到 Luma > Luma > Views > General > 登录工作表,并找到要在选择 登录 按钮时执行的代码。 添加以下代码:
code language-swift // Update identities MobileSDK.shared.updateIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
updateIdentities
调用中发送多个身份。 您还可以修改以前发送的身份。删除身份
您可以使用Identity.removeIdentity
API从存储的客户端标识映射中删除标识。 Identity扩展停止向Edge Network发送标识符。 使用此API不会从服务器端标识图中删除标识符。 有关身份图的详细信息,请参阅查看身份图。
-
在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 > 登录工作表,并找到要在选择 注销 按钮时执行的代码。 添加以下代码:
code language-swift // Remove identities MobileSDK.shared.removeIdentities(emailAddress: currentEmailId, crmId: currentCRMId)
使用保证功能进行验证
-
查看设置说明部分以将模拟器或设备连接到Assurance。
-
在Luma应用程序中
-
选择 主页 选项卡,并将“保证”图标向左移动。
-
选择 右上角的 {width="15"}图标。
{width="300"}
-
提供电子邮件地址和CRM ID,或者
-
选择 {width="15"}以随机生成 电子邮件 和 CRM ID。
-
选择 登录。
{width="300"}
-
-
在Assurance Web界面中查找来自 com.adobe.griffon.mobile 供应商的 Edge标识更新标识 事件。
-
选择事件并查看 ACPExtensionEventData 对象中的数据。 您应该会看到已更新的身份。
使用身份图进行验证
完成Experience Platform课程中的步骤后,便可以在Platforms身份图查看器中确认身份捕获:
-
在数据收集UI中选择 标识。
-
从顶部栏中选择 标识图。
-
输入
Luma CRM ID
作为 身份命名空间,输入CRM ID (例如24e620e255734d8489820e74f357b5c8
)作为 身份值。 -
您看到列出了 标识。
Identity.resetIdentities
和MobileCore.resetIdentities
API调用。 但是,请注意,在使用推送通知标识符时(请参阅发送推送通知),该标识符将成为设备上的另一个“粘性”配置文件标识符。下一步: 收集配置文件数据