Guide approfondite
Delega della Persistenza del Consenso
3 min
questa funzionalità permette all'editore di prendere in carico la gestione della persistenza delle stringhe di consenso quando delegateconsentpersist è abilitato (configurazione presente nel configuratore), la cmp non salverà direttamente i cookie o i dati nel localstorage , ma fornirà all'editore tutte le informazioni necessarie per farlo come abilitare la funzionalità è possibile abilitare questa opzione tramite il configuratore della cmp oppure sovrascrivendo la configurazione a livello di pagina per abilitarla solo per una pagina specifica, è sufficiente inserire il seguente codice nell'elemento \<head> della pagina, prima di qualsiasi altro script come salvare le stringhe di consenso una volta abilitata la funzionalità, è necessario "ascoltare" l'evento di consenso per ricevere le stringhe da persistere questo può essere fatto utilizzando la coda di eventi pubtech queue on consent ecco un esempio di come implementare la logica di salvataggio window pubtech queue on consent = window pubtech queue on consent || \[]; function executeonconsent(cmptype, { consentbundle, consentbaseapi, integrations }) { // l'oggetto 'integrations' contiene i metadati necessari console log("l'oggetto da usare è ", integrations); // 'integrations metadata consentstrings' contiene l'elenco dei consensi // che la cmp si aspetta di trovare al ricaricamento della pagina if (integrations metadata consentstrings) { console log("stringhe di consenso da persistere ", integrations metadata consentstrings); integrations metadata consentstrings foreach(consentstring => { if (consentstring type === 'cookie') { // esempio di come salvare un cookie // nota è consigliabile usare una funzione robusta per la gestione dei cookie, // che gestisca correttamente attributi come 'expires', 'path', 'domain' document cookie = `${consentstring key}=${consentstring value}; max age=31536000; path=/`; console log(`cookie "${consentstring key}" salvato `); } else if (consentstring type === 'localstorage') { localstorage setitem(consentstring key, consentstring value); console log(`valore "${consentstring key}" salvato in localstorage `); } }); } // questo flag indica se il consenso è stato generato da un'interazione diretta dell'utente (es click) console log("il consenso è stato generato da un click dell'utente? ", integrations metadata consentupdate ? "sì" "no"); } pubtech queue on consent push(executeonconsent); dettagli delle stringhe di consenso l'array integrations metadata consentstrings conterrà oggetti con la seguente struttura key il nome della chiave da utilizzare per la persistenza (es il nome del cookie) type il tipo di storage da utilizzare ( cookie o localstorage ) value la stringa di consenso da salvare è fondamentale che l'editore garantisca la corretta persistenza di queste stringhe affinché la cmp possa funzionare correttamente nelle visite successive dell'utente