Compartir el consentimiento entre dispositivos

ConsentManager admite el intercambio de consentimientos entre dispositivos. Para compartir la información de consentimiento entre varios dispositivos, el sitio web o la aplicación debe cumplir los siguientes requisitos:

  • El sitio web o la aplicación debe poder identificar al usuario en todos los dispositivos. Esto suele hacerse mediante un inicio de sesión en el sitio web o la aplicación: cada vez que el usuario inicia sesión en su cuenta, el (nuevo) dispositivo puede compartir la misma información de consentimiento que el resto de dispositivos del mismo usuario.
  • Tu plataforma (la que almacena los datos de inicio de sesión del usuario) debe poder almacenar la información de consentimiento del usuario en el servidor. La información de consentimiento será una cadena alfanumérica de hasta 8 KB de tamaño.

Configuración general

Para compartir el consentimiento en varios dispositivos, se seguirán los siguientes pasos:

  1. Cuando el usuario visita el sitio web o la aplicación por primera vez, no hay información sobre el consentimiento y se le pedirá su consentimiento.
  2. Una vez que el usuario da su consentimiento, el CMP almacenará la información de consentimiento en el dispositivo del usuario y notificará al sitio web o a la aplicación que hay nueva información de consentimiento disponible.
  3. El sitio web o la aplicación recuperará/exportará la información de consentimiento del CMP y la almacenará en su propia base de datos junto con el perfil del usuario.
  4. La próxima vez que el usuario visite el sitio web o la aplicación, se importará la información de consentimiento existente al CMP.

Web

Para exportar la información de consentimiento, se puede utilizar el comando __cmp('exportConsent') . Este generará la información de consentimiento como una cadena codificada en base64 apta para la web.

Para importar la información existente, se puede utilizar el comando __cmp('importConsent','....') . Esto configurará la información interna de consentimiento y desactivará la pantalla de consentimiento.

Como alternativa, también puedes pasar la información de consentimiento a través de la URL utilizando el parámetro ?cmpimport=... o #cmpimport=...

Nota: Para evitar que se muestre la pantalla de consentimiento, el comando importConsent debe llamarse inmediatamente después del código CMP. El CMP pondrá el comando en cola e importará automáticamente la información de consentimiento como primer paso al cargar el CMP.

Aquí tienes un código de ejemplo sencillo que realizará la importación, comprobará si hay cambios y exportará los datos de consentimiento si es necesario:

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

Ejemplo de cómo pasar el consentimiento a otra ventana o sitio 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

Para las aplicaciones, el procedimiento es el mismo que para la web, solo que las funciones y los nombres son diferentes.

Android

Para exportar la información sobre el consentimiento, utiliza

String consentData = CMPConsentTool.exportCMPData(this);

Para importar la información sobre el consentimiento, utiliza

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

iOS

Para importar/exportar la información sobre el consentimiento, utiliza (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!