Les applications Adobe Experience Cloud ont traditionnellement généré des cookies pour stocker les identifiants d’appareil à l’aide de différentes technologies, notamment :
Les modifications récentes du navigateur limitent la durée de ces types de cookies. Les cookies propriétaires sont plus efficaces lorsqu’ils sont définis à l’aide d’un serveur détenu par le client à l’aide d’un enregistrement DNS A/AAAA plutôt que d’un CNAME DNS. La fonctionnalité d’identifiant d’appareil propriétaire (FPID) permet aux clients implémentant le SDK Web de Adobe Experience Platform d’utiliser les identifiants d’appareil dans les cookies des serveurs utilisant des enregistrements DNS A/AAAA. Ces identifiants peuvent ensuite être envoyés à Adobe et utilisés comme graines pour générer des identifiants Experience Cloud (ECID), qui reste l’Principal identifiant dans les applications Adobe Experience Cloud.
Voici un exemple rapide du fonctionnement de cette fonctionnalité :
idMigrationEnabled=true
, le SDK Web Platform utilise JavaScript pour stocker l’ECID en tant que AMCV_
dans le navigateur de l’utilisateur final.AMCV_
expire, le processus se répète. Tant que le même identifiant d’appareil propriétaire est disponible, une nouvelle AMCV_
est créé avec la même valeur ECID qu’auparavant.Le idMigrationEnabled
n’a pas besoin d’être défini sur true
pour utiliser FPID. Avec idMigrationEnabled=false
vous pouvez ne pas voir de AMCV_
Toutefois, et doivent rechercher la valeur ECID dans la réponse réseau.
Dans ce tutoriel, un exemple spécifique utilisant le langage de script PHP est utilisé pour montrer comment :
Vous trouverez plus d’informations sur les ID d’appareils propriétaires dans la documentation du produit.
PHP n’a pas de bibliothèque native pour la génération d’UUID. Par conséquent, ces exemples de code sont plus étendus que ce qui serait probablement nécessaire si un autre langage de programmation était utilisé. PHP a été choisi pour cet exemple car il s’agit d’un langage côté serveur largement pris en charge.
Lorsque la fonction suivante est appelée, elle génère un UUID aléatoire 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));
}
?>
Le code suivant émet une requête à la fonction ci-dessus pour générer un UUID. Il définit ensuite les indicateurs de cookie décidés par votre organisation. Si un cookie a déjà été généré, l’expiration est étendue.
<?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);
}
?>
Le cookie qui contient l’identifiant d’appareil propriétaire peut porter n’importe quel nom.
La dernière étape consiste à utiliser PHP pour faire écho à la valeur du cookie dans la carte des identités.
{
"identityMap": {
"FPID": [
{
"id": "<? echo $_COOKIE[$cookie_name] ?>",
"authenticatedState": "ambiguous",
"primary": true
}
]
}
}
Le symbole de l’espace de noms d’identité utilisé dans la carte d’identité doit être appelé FPID
.
FPID
est un espace de noms d’identité réservé qui n’est pas visible dans les listes des espaces de noms d’identité de l’interface.
Validez l’implémentation en confirmant que le même ECID est généré à partir de votre identifiant d’appareil propriétaire :
AMCV_<IMSORGID@AdobeOrg>
est généré. Ce cookie contient l’ECID.FPID
du cookie.AMCV_<IMSORGID@AdobeOrg>
cookie est le même ECID
comme dans la variable AMCV_
qui a été supprimé. Si la valeur du cookie est identique pour un FPID donné, le processus d’ensemencement de l’ECID a réussi.Pour plus d’informations sur cette fonctionnalité, voir la documentation.