客户 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 服务部分。

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free