Las aplicaciones de Adobe Experience Cloud han generado tradicionalmente cookies para almacenar los ID de dispositivo mediante diferentes tecnologías, entre las que se incluyen:
Los cambios recientes en el explorador restringen la duración de estos tipos de cookies. Las cookies de origen son más efectivas cuando se establecen mediante un servidor propiedad del cliente que utiliza un registro A/AAAA DNS, en lugar de un CNAME DNS. La funcionalidad de ID de dispositivo de origen (FPID) permite a los clientes que implementan el SDK web de Adobe Experience Platform utilizar ID de dispositivo en cookies de servidores que utilizan registros A/AAAA de DNS. Estos ID se pueden enviar al Adobe de y se pueden usar como semillas para generar ID de Experience Cloud (ECID), que sigue siendo el identificador principal en las aplicaciones de Adobe Experience Cloud.
A continuación se muestra un ejemplo rápido de cómo funciona la funcionalidad:
idMigrationEnabled=true
, Platform Web SDK utiliza JavaScript para almacenar el ECID como AMCV_
en el explorador del usuario final.AMCV_
Cuando la cookie caduca, el proceso se repite. Siempre que esté disponible el mismo ID de dispositivo de origen, se añade un nuevo AMCV_
La cookie se crea con el mismo valor de ECID que antes.El idMigrationEnabled
no necesita configurarse en true
para usar FPID. Con idMigrationEnabled=false
es posible que no vea una AMCV_
sin embargo, y deberán buscar el valor ECID en la respuesta de red.
Para este tutorial, se utiliza un ejemplo específico utilizando el lenguaje de script PHP para mostrar cómo:
Puede encontrar más documentación relacionada con los ID de dispositivos de origen en la documentación del producto.
PHP no tiene una biblioteca nativa para la generación de UUID, por lo que estos ejemplos de código son más extensos de lo que probablemente se requeriría si se utilizara otro lenguaje de programación. Se eligió PHP para este ejemplo porque es un lenguaje ampliamente compatible del lado del servidor.
Cuando se llama a la siguiente función, genera un UUID aleatorio versión 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));
}
?>
El siguiente código realiza una solicitud a la función anterior para generar un UUID. A continuación, establece los indicadores de cookies que ha decidido su organización. Si ya se ha generado una cookie, se amplía la caducidad.
<?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);
}
?>
La cookie que contiene el ID del dispositivo de origen puede tener cualquier nombre.
El paso final es usar PHP para repetir el valor de la cookie en el mapa de identidad.
{
"identityMap": {
"FPID": [
{
"id": "<? echo $_COOKIE[$cookie_name] ?>",
"authenticatedState": "ambiguous",
"primary": true
}
]
}
}
El símbolo del área de nombres de identidad utilizado en el mapa de identidad debe llamarse FPID
.
FPID
es un área de nombres de identidad reservada que no está visible en las listas de interfaz de áreas de nombres de identidad.
Valide la implementación confirmando que se genera el mismo ECID a partir del ID del dispositivo de origen:
AMCV_<IMSORGID@AdobeOrg>
se genera. Esta cookie contiene el ECID.FPID
cookie.AMCV_<IMSORGID@AdobeOrg>
La cookie es la misma ECID
como en el AMCV_
cookie que se ha eliminado. Si el valor de la cookie es el mismo para un FPID determinado, el proceso de inicialización del ECID se realizó correctamente.Para obtener más información acerca de esta función, consulte la documentación.