Show Menu
主题×

客户 ID 和身份验证状态

除了 Experience Cloud 访客 ID 之外,您还可以将其他的客户 ID 和身份验证状态与每位访客关联。

身份验证状态

setCustomerIDs
方法可以接受同一访客拥有多个客户 ID。这有助于您识别或定位跨不同设备的单独用户。例如,您可以将这些 ID 作为 客户属性 上传至 Experience Cloud,并在不同的解决方案中访问此数据。
客户属性和核心服务功能要求使用
setCustomerIDs
(客户 ID 同步)。同步客户 ID 是一种适用于 Analytics 的可选识别方法。Target 需要使用
Visitor.AuthState.AUTHENTICATED
才能使客户属性正常工作。请参阅 核心服务 - 如何启用您的解决方案 ,以了解相关示例。
从 Experience Cloud Identity 服务版本 1.5 开始,
setCustomerIDs
包含可选的
AuthState
对象。
AuthState
可根据访客的身份验证状态(例如,已登录,已注销)来识别他们。您可通过表中列出的状态值来设置身份验证状态。身份验证状态将以整数的形式返回。
身份验证状态
状态整数
用户状态
Visitor.AuthState.UNKNOWN
0
未知或从未验证。
未对访客 ID 使用
AuthState
,或未在每个页面或应用程序上下文中显式设置此属性时,默认应用未知状态。
Visitor.AuthState.AUTHENTICATED
1
已经过特定实例、页面或应用程序的验证。
注意:要正常使用,
Target
的用户属性需要此状态。
Visitor.AuthState.LOGGED_OUT
2
已注销。

身份验证状态的用例

您可以根据用户对您的 Web 属性执行的操作以及是否进行身份验证来为他们分配身份验证状态。请参阅下表中的一些示例:
身份验证状态
用例
Visitor.AuthState.UNKNOWN
此状态可用于以下情况:
  • 阅读电子邮件(此操作可能意味着读者是预期的收件人,但也可能表示电子邮件已被转发)。
  • 从电子邮件点进到登录页面。
Visitor.AuthState.AUTHENTICATED
用户目前通过了您网站或应用程序上活动会话的身份验证。
Visitor.AuthState.LOGGED_OUT
用户已经过身份验证,但已主动注销。用户想要并打算与已经过身份验证状态断开连接。用户不想再被当为已经过身份验证处理。

设置客户 ID 和身份验证状态

客户 ID 可包含 ID 和身份验证状态的组合,如以下示例中所示。
  • ID 区分大小写。
  • 仅将未编码的值应用于您的 ID。
  • 客户 ID 和身份验证状态未存储在访客 ID Cookie 中。必须针对每个页面或应用程序上下文设置它们。
  • 您不应当在客户 ID 中包含任何个人身份信息 (PII)。如果您要使用 PII 来识别访客(例如电子邮件地址),我们建议您存储信息的哈希版本或加密版本。ECID 库支持对用户标识符进行哈希处理。请参阅 对 setCustomerIDs 的 SHA256 哈希处理支持
// Single ID with a single authentication state visitor.setCustomerIDs({ "userid":{ "id":"67312378756723456", "authState":Visitor.AuthState.AUTHENTICATED } }); /* Multiple IDs with only the first ID explicitly assigned an authentication state. The second ID is not explicitly assigned an authentication state and is implicitly assigned Visitor.AuthState.Unknown by default. */ visitor.setCustomerIDs({ "userid":{ "id":"67312378756723456", "authState":Visitor.AuthState.AUTHENTICATED }, "dpuuid":"550e8400-e29b-41d4-a716-446655440000" }); // Multiple IDs with identical authentication states visitor.setCustomerIDs({ "userid":{ "id":"67312378756723456", "authState":Visitor.AuthState.AUTHENTICATED }, "dpuuid":{ "id":"550e8400-e29b-41d4-a716-446655440000", "authState":Visitor.AuthState.AUTHENTICATED } }); // Multiple IDs with different authentication states visitor.setCustomerIDs({ "userid":{ "id":"67312378756723456", "authState":Visitor.AuthState.AUTHENTICATED }, "dpuuid":{ "id":"550e8400-e29b-41d4-a716-446655440000", "authState":Visitor.AuthState.LOGGED_OUT } });

返回客户 ID 和身份验证状态

使用
getCustomerIDs
可返回客户 ID 和相关的身份验证状态。此方法可按照整数的形式返回访客的身份验证状态。
语法
getCustomerIDs
通过以下语法返回数据。
{ [customerIDType1]:{ "id":[customerID1], "authState":[authState1] }, [customerIDType2]:{ "id":[customerID2], "authState":[authState2] } ... }
示例
返回的客户 ID 和身份验证状态数据看起来应该类似于以下示例。
Object customerIDs = visitor.getCustomerIDs(); // No setCustomerIDs call on this instance {} // setCustomerIDs call on this instance with {"userid":{"id":"67312378756723456"}} { "userid":{ "id":"67312378756723456", "authState":0 } } // setCustomerIDs call on this instance with {"userid":{"id":"67312378756723456","authState":Visitor.AuthState.AUTHENTICATED}} { "userid":{ "id":"67312378756723456", "authState":1 } } // setCustomerIDs call on this instance with {"userid":{"authState":Visitor.AuthState.LOGGED_OUT}} { "userid":{ "authState":2 } } // setCustomerIDs call on this instance with {"userid":{"authState":Visitor.AuthState.LOGGED_OUT},"dpuuid":{"id":"550e8400-e29b-41d4-a716-446655440000"}} { "userid":{ "authState":2 }, "dpuuid":{ "id":"550e8400-e29b-41d4-a716-446655440000", "authState":0 } }

SDK 支持

Experience Cloud ID 服务支持在我们的 Android 和 iOS SDK 代码中使用客户 ID 和身份验证状态。请参阅以下代码库:

面向 Analytics 和 Audience Manager 客户的注意事项

如果您将声明的 ID 传递至 Audience Manager,则
userid
对象需要匹配与数据源关联的集成代码。更多信息,请参阅 配置合并规则代码 文档中的访客 ID 服务部分。