Condivisione del consenso su più dispositivi

ConsentManager supporta la condivisione del consenso tra dispositivi. Per poter condividere le informazioni relative al consenso su più dispositivi, il sito web/l'app deve soddisfare i seguenti requisiti:

  • Il sito web/l'app deve essere in grado di identificare l'utente su tutti i dispositivi. Questo avviene solitamente tramite un login sul sito web o sull'app: ogni volta che l'utente accede all'account, il (nuovo) dispositivo può condividere le stesse informazioni di consenso di tutti gli altri dispositivi dello stesso utente.
  • La tua piattaforma (quella che memorizza i dati di accesso dell'utente) deve essere in grado di memorizzare le informazioni relative al consenso dell'utente sul lato server. Le informazioni relative al consenso saranno una stringa alfanumerica con una dimensione massima di 8 KB

Configurazione generale

Per condividere il consenso su più dispositivi, verranno eseguiti i seguenti passaggi:

  1. Quando l'utente visita il sito web o l'app per la prima volta, non sono presenti informazioni sul consenso e all'utente verrà chiesto di darlo.
  2. Una volta che l'utente ha dato il consenso, il CMP memorizzerà le informazioni relative al consenso sul dispositivo dell'utente e notificherà al sito web o all'app che sono presenti nuove informazioni sul consenso.
  3. Il sito web o l'app recupererà/esporterà le informazioni relative al consenso dal CMP e le memorizzerà nel proprio database insieme al profilo dell'utente.
  4. La prossima volta che l'utente visiterà il sito web o l'app, le informazioni sul consenso esistenti verranno importate nel CMP.

Web

Per esportare le informazioni sul consenso, è possibile utilizzare il comando __cmp('exportConsent') . Esso produrrà le informazioni sul consenso come stringa websafe codificata in base64.

Per importare le informazioni esistenti, è possibile utilizzare il comando __cmp('importConsent','....') . Impostare le informazioni interne sul consenso e disabilitare la schermata di consenso.

In alternativa puoi anche trasmettere le informazioni sul consenso tramite l'URL utilizzando il parametro ?cmpimport=... o #cmpimport=...

Nota bene: per evitare che venga visualizzata la schermata di consenso, il comando importConsent deve essere chiamato immediatamente dopo il codice CMP. Il CMP metterà in coda il comando e importerà automaticamente le informazioni di consenso come primo passo durante il caricamento del CMP.

Ecco un semplice codice di esempio che eseguirà l'importazione, verificherà le modifiche ed esporterà i dati relativi al consenso, se necessario:

<script>  
  window.cmp_waitfortimport = 1000; // tell the CMP to wait for max 1 second for incoming import calls
  var userConsentInfo = '... insert consent data from users profile if present, otherwise empty ...';
  function storeConsent(eventname, o)
  {
   var c = __cmp("exportConsent");
   if(c !== userConsentInfo)
   {
    console.log('new consent data: ', c);
    userConsentInfo = c;
     //send new consent info to server in order to store it there
   }
  }
  if(userConsentInfo != "")
  {
   __cmp('importConsent',userConsentInfo);
  }  
  else
  {
   __cmp('cancelwait'); //tell the CMP to no longer wait for import calls
  }
  __cmp('addEventListener', ['consent', storeConsent, false], null);
 </script>

Esempio di trasferimento del consenso a un'altra finestra o a un altro sito web:

<button onclick="redirectPage()">Click me!</button>
<script>   
  function redirectPage()
  {
   var c = __cmp("exportConsent");
   location.href= "https://mywebsite.com/somepage?someparameter#cmpimport="+c;
  }
 </script>

App

Per le app la procedura è la stessa del web, cambiano solo le funzioni/i nomi.

Android

Per esportare le informazioni sul consenso, usa

String consentData = CMPConsentTool.exportCMPData(this);

Per importare le informazioni sul consenso, utilizza

CMPConsentTool.importCMPData(this, "...data...");

iOS

Per importare/esportare le informazioni sul consenso, utilizza (https://help.consentmanager.net/books/cmp/page/consentmanager-sdk-for-ios#bkmrk-import%2Fexport-consen)

// Instanstiate CMPConsentTool()
cmpConsentTool = CMPConsentTool.init(...)

// Importing consent data if you like
cmpConsentTool.importCMPData("${your consentString}");

// ... Your code here ...


// Exporting Consent data 
let consentString : String = CMPConsentTool.exportCMPData()

 

 

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!