Info
Content

Delen van toestemming tussen apparaten

ConsentManager ondersteunt het delen van toestemmingen op verschillende apparaten. Om toestemmingsinformatie over meerdere apparaten te delen, moet de website / app aan de volgende vereisten voldoen:

  • De website / app moet de gebruiker op verschillende apparaten kunnen identificeren. Dit gebeurt meestal via een login op de website of app: elke keer dat de gebruiker inlogt op het account, kan het (nieuwe) apparaat dezelfde toestemmingsinformatie delen als alle andere apparaten van dezelfde gebruiker.
  • Uw platform (het platform dat de login van de gebruiker opslaat) moet de toestemmingsinformatie van de gebruiker aan de serverzijde kunnen opslaan. De toestemmingsinformatie is een alfanumerieke reeks met een grootte van maximaal 8 kb

Algemene instellingen

Om de toestemming over meerdere apparaten te delen, worden de volgende stappen uitgevoerd:

  1. Wanneer de gebruiker de website of app voor het eerst bezoekt, is er geen toestemmingsinformatie aanwezig en wordt de gebruiker om toestemming gevraagd.
  2. Zodra de gebruiker toestemming geeft, slaat de CMP de toestemmingsinformatie op het apparaat van de gebruiker op en laat de website of app weten dat er nieuwe toestemmingsinformatie aanwezig is.
  3. De website of app haalt de toestemmingsinformatie op uit de CMP / exporteert deze en slaat deze samen met het gebruikersprofiel op in zijn eigen database.
  4. De volgende keer dat de gebruiker de website of app bezoekt, importeert hij de bestaande toestemmingsinformatie in de CMP.

Web

Om de toestemmingsinformatie te exporteren, de opdracht __cmp('exportConsent') kan worden gebruikt. Het zal de toestemmingsinformatie uitvoeren als een met base64 gecodeerde webveilige string.

Om de bestaande informatie te importeren, de opdracht __cmp('importConsent','....') kan worden gebruikt. Het zal de interne toestemmingsinformatie instellen en het toestemmingsscherm uitschakelen.

Als alternatief kunt u de toestemmingsinformatie ook via de URL doorgeven met parameter ?cmpimport=... or #cmpimport=...

Houd er rekening mee dat: Om te voorkomen dat het toestemmingsscherm wordt weergegeven, moet de opdracht importConsent onmiddellijk na de CMP-code worden aangeroepen. De CMP zet de opdracht in de wachtrij en importeert automatisch de toestemmingsinformatie als een eerste stap bij het laden van de CMP.

Hier is een eenvoudige voorbeeldcode die de import uitvoert, controleert op wijzigingen en de toestemmingsgegevens exporteert indien nodig:

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

Voorbeeld van het delen van toestemming tussen domeinen bij klikken

<script>
 window.cmp_allowedDomains = [];
 //window.cmp_allowedDomains.push('*');           // use this line to append consent data to all urls ...
 window.cmp_allowedDomains.push('mywebsite.com'); // ... or add your domains here ...
 window.cmp_allowedDomains.push('myotherwebsite.com');
 window.cmp_allowedDomains.push('mythirdwebsite.com');

 window.cmp_appendclick = function (evt)
 {
  try
  {
   evt = evt || window.event;
   if (evt.target && evt.target.nodeName && evt.target.nodeName.toUpperCase() === 'A' && evt.target.hostname && evt.target.hostname != '' && evt.target.hostname != location.hostname)
   {
    var found = false;
    var hn    = evt.target.hostname.toLowerCase();
    for (var i = 0; i < window.cmp_allowedDomains.length; i++)
    {
     var d = window.cmp_allowedDomains[i].toLowerCase();
     var a = ('.' + hn).substr(hn.length - d.length, 9999);
     if (window.cmp_allowedDomains[i] == '*' || a == '.' + d)
     {
      found = true;
      break;
     }
    }
    if (found)
    {
     if ('hash' in evt.target && evt.target.hash == '')
     {
      evt.target.hash = '#' + __cmp('exportConsent');
     }
    }
   }
  }
  catch (e)
  {}
 };
 window.addEventListener('mousedown', window.cmp_appendclick);
</script>

app

Voor apps is de procedure hetzelfde als voor web, alleen zijn de functies / namen verschillend.

Android

Gebruik om de toestemmingsinformatie te exporteren

String consentData = CMPConsentTool.exportCMPData(this);

Gebruik om de toestemmingsinformatie te importeren

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

iOS

Om de toestemmingsinformatie te importeren/exporteren, gebruikt u (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()

 

 

Terug naar boven