Generare gli D dispositivo di prime parti
Tradizionalmente, le applicazioni Adobe Experience Cloud generano cookie per memorizzare gli ID dispositivo utilizzando diverse tecnologie, tra cui:
- Cookie di terze parti
- Cookie di prime parti impostati da un server di Adobe utilizzando la configurazione CNAME di un nome di dominio
- Cookie di prime parti impostati da JavaScript
Le modifiche recenti apportate al browser limitano la durata di questi tipi di cookie. I cookie di prime parti sono più efficaci quando vengono impostati utilizzando un server di proprietà del cliente che utilizza un record A/AAAA DNS anziché un CNAME DNS. La funzionalità ID dispositivo di prima parte (FPID) consente ai clienti che implementano Adobe Experience Platform Web SDK di utilizzare gli ID dispositivo nei cookie dei server che utilizzano i record A/AAAA DNS. Questi ID possono quindi essere inviati ad Adobe e utilizzati come seed per generare gli ID Experience Cloud (ECID), che rimangono l’identificatore primario nelle applicazioni Adobe Experience Cloud.
Di seguito è riportato un rapido esempio di come funziona la funzionalità:
- Il browser di un utente finale richiede una pagina web dal server web o dalla rete CDN di un cliente.
- Il cliente genera un ID dispositivo (FPID) sul proprio server web o CDN (il server web deve essere associato al record A/AAAA DNS del nome di dominio).
- Il cliente imposta un cookie di prima parte per memorizzare l’FPID nel browser dell’utente finale.
- L’implementazione Adobe Experience Platform Web SDK del cliente invia una richiesta alla rete Edge di Platform, incluso l’FPID nella mappa delle identità.
- Experienci Platform Edge Network riceve l’FPID e lo utilizza per generare un ID Experience Cloud (ECID).
- La risposta di Platform Web SDK invia nuovamente l’ECID al browser dell’utente finale.
- Se il
idMigrationEnabled=true
, Platform Web SDK utilizza JavaScript per memorizzare l’ECID comeAMCV_
cookie nel browser dell’utente finale. - Nel caso in cui
AMCV_
il cookie scade, il processo si ripete. Se è disponibile lo stesso ID dispositivo di prime parti, vieneAMCV_
Il cookie viene creato con lo stesso valore ECID di prima.
idMigrationEnabled
non deve essere impostato su true
per utilizzare FPID. Con idMigrationEnabled=false
potrebbe non vedere AMCV_
cookie, tuttavia, e dovranno cercare il valore ECID nella risposta di rete.Per questo tutorial, viene utilizzato un esempio specifico che utilizza il linguaggio di script PHP per mostrare come:
- Generare un UUIDv4
- Scrivi il valore UUIDv4 in un cookie
- Includi il valore del cookie nella mappa di identità
- Convalidare la generazione di ECID
Ulteriori informazioni relative agli ID dispositivo di prime parti sono disponibili nella documentazione del prodotto.
Generare un UUIDv4
PHP non dispone di una libreria nativa per la generazione di UUID, quindi questi esempi di codice sono più estesi di quanto sarebbe probabilmente necessario se fosse stato utilizzato un altro linguaggio di programmazione. Il PHP è stato scelto per questo esempio perché è un linguaggio lato server ampiamente supportato.
Quando viene chiamata la seguente funzione, genera un UUID versione-4 casuale:
<?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));
}
?>
Scrivi il valore UUIDv4 in un cookie
Il codice seguente invia una richiesta alla funzione precedente per generare un UUID. Quindi imposta i flag di cookie decisi dalla tua organizzazione. Se è già stato generato un cookie, la scadenza viene estesa.
<?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);
}
?>
Includere il valore del cookie in Identity Map
Il passaggio finale consiste nell’utilizzare PHP per copiare il valore del cookie in Identity Map.
{
"identityMap": {
"FPID": [
{
"id": "<? echo $_COOKIE[$cookie_name] ?>",
"authenticatedState": "ambiguous",
"primary": true
}
]
}
}
FPID
.FPID
è uno spazio dei nomi di identità riservato non visibile negli elenchi di interfaccia degli spazi dei nomi di identità.Convalidare la generazione di ECID
Convalida l’implementazione confermando che lo stesso ECID viene generato dal tuo ID dispositivo di prime parti:
- Genera un cookie FPID.
- Invia una richiesta a Platform Edge Network utilizzando Platform Web SDK.
- Un cookie con il formato
AMCV_<IMSORGID@AdobeOrg>
viene generato. Questo cookie contiene l’ECID. - Prendi nota del valore del cookie generato, quindi elimina tutti i cookie del sito ad eccezione di
FPID
cookie. - Invia un’altra richiesta a Platform Edge Network.
- Conferma il valore in
AMCV_<IMSORGID@AdobeOrg>
cookie è lo stessoECID
valore come inAMCV_
cookie eliminato. Se il valore del cookie è lo stesso per un determinato FPID, il processo di seeding per l’ECID è riuscito.
Per ulteriori informazioni su questa funzione, consulta la documentazione.