Adobe Experience Cloud-program har traditionellt genererat cookies för att lagra enhets-ID med olika tekniker, bland annat:
De senaste ändringarna i webbläsaren begränsar varaktigheten för dessa typer av cookies. Första parts-cookies är mest effektiva när de ställs in med en kundägd server som använder en DNS A/AAA-post i motsats till en DNS CNAME. Med funktionen för FPID (First-party device ID) kan kunder som implementerar Adobe Experience Platform Web SDK använda enhets-ID i cookies från servrar med DNS A/AAAA-poster. Dessa ID:n kan sedan skickas till Adobe och användas som frön för att generera Experience Cloud ID:n (ECID), som förblir den primära identifieraren i Adobe Experience Cloud-program.
Här är ett kort exempel på hur funktionen fungerar:
idMigrationEnabled=true
används JavaScript för att lagra ECID som AMCV_
cookie i slutanvändarens webbläsare.AMCV_
cookie förfaller, processen upprepas själv. Så länge samma enhets-ID finns tillgängligt får du ett nytt AMCV_
cookie skapas med samma ECID-värde som tidigare.The idMigrationEnabled
behöver inte anges till true
för att använda FPID. Med idMigrationEnabled=false
du kanske inte ser en AMCV_
cookie och måste söka efter ECID-värdet i nätverkssvaret.
I den här självstudiekursen används ett specifikt exempel med skriptspråket PHP för att visa hur du:
Ytterligare dokumentation om enhets-ID:n från första part finns i produktdokumentationen.
PHP har inget systemspecifikt bibliotek för UUID-generering, så dessa kodexempel är mer omfattande än vad som troligtvis skulle behövas om ett annat programmeringsspråk användes. PHP valdes för det här exemplet eftersom det är ett språk på serversidan som har brett stöd.
När följande funktion anropas genereras ett slumpmässigt UUID version-4:
<?php
function guidv4($data)
{
$data = $data ?? random_bytes(16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100
$data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
?>
Följande kod skickar en begäran till funktionen ovan om att generera ett UUID. Sedan anges de cookie-flaggor som din organisation har bestämt. Om en cookie redan har genererats förlängs giltigheten.
<?php
if(!isset($_COOKIE['FPID'])) {
$cookie_value = guidv4(openssl_random_pseudo_bytes(16));
$arr_cookie_options = array (
'expires' => time() + 60*60*24*30*13,
'path' => '/',
'domain' => 'mysiteurl.com',
'secure' => true,
'httponly' => true,
'samesite' => 'lax'
);
setcookie($cookie_name, $cookie_value, $arr_cookie_options);
$_COOKIE[$cookie_name] = $cookie_value;
}
else {
$cookie_value = $_COOKIE[$cookie_name];
$arr_cookie_options = array (
'expires' => time() + 60*60*24*30*13,
'path' => '/',
'domain' => 'mysiteurl.com',
'secure' => true,
'httponly' => true,
'samesite' => 'lax'
);
setcookie($cookie_name, $cookie_value, $arr_cookie_options);
}
?>
Den cookie som innehåller det första enhets-ID:t kan ha vilket namn som helst.
Det sista steget är att använda PHP för att eko cookie-värdet till identitetskartan.
{
"identityMap": {
"FPID": [
{
"id": "<? echo $_COOKIE[$cookie_name] ?>",
"authenticatedState": "ambiguous",
"primary": true
}
]
}
}
Identitetsnamnutrymmessymbolen som används i identitetskartan måste anropas FPID
.
FPID
är ett reserverat ID-namnutrymme som inte visas i gränssnittslistorna med identitetsnamnutrymmen.
Validera implementeringen genom att bekräfta att samma ECID genereras från ditt första enhets-ID:
AMCV_<IMSORGID@AdobeOrg>
genereras. Denna cookie innehåller ECID.FPID
cookie.AMCV_<IMSORGID@AdobeOrg>
cookie är samma ECID
som i AMCV_
cookie som har tagits bort. Om cookie-värdet är samma för en viss FPID har sederingsprocessen för ECID slutförts.Mer information om den här funktionen finns i dokumentationen.