Partage du consentement entre appareils

ConsentManager prend en charge le partage du consentement entre appareils. Afin de partager les informations de consentement sur plusieurs appareils, le site web/l'application doit répondre aux exigences suivantes :

  • Le site web/l'application doit être capable d'identifier l'utilisateur sur tous ses appareils. Cela se fait généralement via une connexion sur le site web ou l'application : chaque fois que l'utilisateur se connecte à son compte, le (nouvel) appareil peut partager les mêmes informations de consentement que tous les autres appareils du même utilisateur.
  • Votre plateforme (celle qui stocke les identifiants de connexion de l'utilisateur) doit être capable de stocker les informations de consentement de l'utilisateur côté serveur. Les informations de consentement prendront la forme d'une chaîne alphanumérique d'une taille maximale de 8 Ko.

Configuration générale

Afin de partager le consentement sur plusieurs appareils, les étapes suivantes seront effectuées :

  1. Lorsque l'utilisateur visite le site web ou l'application pour la première fois, aucune information relative au consentement n'est présente et le consentement de l'utilisateur sera demandé.
  2. Une fois que l'utilisateur a donné son consentement, le CMP enregistre les informations de consentement sur l'appareil de l'utilisateur et informe le site web ou l'application qu'une nouvelle information de consentement est disponible.
  3. Le site web ou l'application récupérera/exportera les informations de consentement depuis le CMP et les stockera dans sa propre base de données avec le profil de l'utilisateur.
  4. La prochaine fois que l'utilisateur se rendra sur le site web ou l'application, les informations de consentement existantes seront importées dans le CMP.

Web

Pour exporter les informations de consentement, la commande __cmp('exportConsent') . Elle générera les informations de consentement sous la forme d'une chaîne de caractères encodée en base64 et compatible avec le Web.

Afin d'importer les informations existantes, la commande __cmp('importConsent','....') . Elle définira les informations internes relatives au consentement et désactivera l'écran de consentement.

Vous pouvez également transmettre les informations de consentement via l'URL en utilisant le paramètre ?cmpimport=... ou #cmpimport=...

Remarque : afin d'éviter l'affichage de l'écran de consentement, la commande importConsent doit être appelée immédiatement après le code CMP. Le CMP mettra la commande en file d'attente et importera automatiquement les informations de consentement dès le chargement du CMP.

Voici un exemple de code simple qui effectuera l'importation, vérifiera les modifications et exportera les données de consentement si nécessaire :

<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>

Exemple de transfert du consentement vers une autre fenêtre ou un autre site 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

Pour les applications, la procédure est la même que pour le web, seuls les noms et les fonctions diffèrent.

Android

Pour exporter les informations relatives au consentement, veuillez utiliser

String consentData = CMPConsentTool.exportCMPData(this);

Pour importer les informations relatives au consentement, veuillez utiliser

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

iOS

Pour importer/exporter les informations relatives au consentement, veuillez utiliser (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!