客戶 ID 和驗證狀態 customer-ids-and-authentication-states

除了 Experience Cloud 訪客 ID 之外,您還可以將其他客戶 ID 和驗證狀態與每個訪客建立關聯。

驗證狀態 section-68ad4065dfaa437d9070832d6e2bf85c

setCustomerIDs 方法接受同一位訪客擁有多個客戶 ID。這可幫助您識別或鎖定不同裝置上的個別用戶。例如,您可以將這些 ID 上傳至作為客戶屬性Experience Cloud,並在不同解決方案中使用此資料。

IMPORTANT
客戶屬性與核心服務功能需要 setCustomerIDs (客戶 ID 同步化)。同步客戶 ID 是 Analytics 支援的選用身分識別方法。Target 需要客戶屬性的 Visitor.AuthState.AUTHENTICATED 才能運作。如需範例,請參閱核心服務 - 如何啟用您的解決方案

從 Experience Cloud Identity Service 1.5 版以後的版本開始,setCustomerIDs 即包括可選用的 AuthState 物件。AuthState 會根據訪客的驗證狀態 (例如,登入、登出) 來識別訪客。您可使用表中的狀態數值設定驗證狀態。驗證狀態會以整數傳回。

驗證狀態
狀態整數
用戶狀態
Visitor.AuthState.UNKNOWN
0

未知或從未驗證

當訪客 ID 未使用 AuthState,或未在每個頁面或應用程式內容中明確設定 AuthState 時,依預設會套用「未知」。

Visitor.AuthState.AUTHENTICATED
1

驗證特殊例項、頁面,或應用程式。

注意:為了正常運作,Target 的客戶屬性需要此狀態。

Visitor.AuthState.LOGGED_OUT
2
登出。

驗證狀態的使用案例 section-fe9560cc490943b29dac2c4fb6efd72c

您可以根據用戶對 Web 屬性所執行的動作及是否驗證,為用戶指派驗證狀態。請參閱下表的幾個範例:

驗證狀態
使用案例
Visitor.AuthState.UNKNOWN

此狀態適用的情境包括:

  • 閱讀電子郵件 (此動作可能代表讀者即是預期的收件者,但電子郵件也可能已經轉寄)。
  • 從電子郵件點進登陸頁面。
Visitor.AuthState.AUTHENTICATED
用戶目前是以您網站或應用程式上使用中的工作階段驗證。
Visitor.AuthState.LOGGED_OUT
用戶已完成驗證,但已主動登出。用戶希望且刻意中斷已驗證的狀態。用戶不想維持已驗證狀態。

設定客戶 ID 與驗證狀態 section-ec4b367d16ad4ac1a1baca9b01f4ee98

客戶 ID 可包括 ID 與驗證狀態的組合,如下列範例所示。

IMPORTANT
  • 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 與驗證狀態 section-71a610546188478fa9a3185a01d6e83b

使用 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 支援 section-861c6b3b1ba645dda133dccb22ec7bb0

Experience Cloud ID 服務支援 Android 和 iOS SDK 程式碼中的客戶 ID 與驗證狀態。請參閱下列程式碼程式庫:

通知 Analytics 與 Audience Manager 客戶 section-3a8e9d51e71c4c6e865184b81ed9d99b

如果您要將宣告的 ID 傳遞至 Audience Manager,userid 物件必須符合與資料來源相關的整合程式碼。如需詳細資訊,請參閱設定合併規則程式碼文件中的訪客 ID 服務章節。

recommendation-more-help
9c9e8ca9-9f7e-42c9-a5d5-a0d82776362a