Info
Inhalt

Geräteübergreifende Einwilligungsfreigabe

ConsentManager unterstützt die geräteübergreifende Einwilligungsfreigabe. Um Zustimmungsinformationen auf mehreren Geräten zu teilen, muss die Website / App die folgenden Anforderungen erfüllen:

  • Die Website / App muss in der Lage sein, den Benutzer geräteübergreifend zu identifizieren. Dies erfolgt normalerweise über ein Login auf der Website oder in der App: Jedes Mal, wenn sich der Benutzer in das Konto einloggt, kann das (neue) Gerät dieselben Einwilligungsinformationen wie alle anderen Geräte desselben Benutzers freigeben.
  • Ihre Plattform (die die Anmeldung des Benutzers speichert) muss in der Lage sein, die Einwilligungsinformationen des Benutzers auf der Serverseite zu speichern. Die Zustimmungsinformationen sind alphanummerische Zeichenfolgen mit einer Größe von bis zu 8 KB

Allgemeine Einrichtung

Um die Einwilligung auf mehrere Geräte zu verteilen, werden die folgenden Schritte ausgeführt:

  1. Wenn der Benutzer die Website oder App zum ersten Mal besucht, sind keine Einwilligungsinformationen vorhanden, und der Benutzer wird um Einwilligung gebeten.
  2. Sobald der Benutzer seine Einwilligung erteilt, speichert das CMP die Einwilligungsinformationen auf dem Gerät des Benutzers und benachrichtigt die Website oder App, dass neue Einwilligungsinformationen vorhanden sind.
  3. Die Website oder App ruft die Einwilligungsinformationen vom CMP ab / exportiert sie und speichert sie zusammen mit dem Benutzerprofil in einer eigenen Datenbank.
  4. Wenn der Benutzer das nächste Mal die Website oder App besucht, importiert er die vorhandenen Einwilligungsinformationen in das CMP.

Web

Um die Zustimmungsinformationen zu exportieren, wird der Befehl __cmp('exportConsent') kann verwendet werden. Die Zustimmungsinformationen werden als base64-codierte websichere Zeichenfolge ausgegeben.

Um die vorhandenen Informationen zu importieren, den Befehl __cmp('importConsent','....') kann verwendet werden. Es werden die internen Einwilligungsinformationen festgelegt und der Einwilligungsbildschirm deaktiviert.

Alternativ können Sie die Zustimmungsinformationen auch über die URL mit dem Parameter übergeben ?cmpimport=... or #cmpimport=...

Bitte beachte: Um zu vermeiden, dass der Zustimmungsbildschirm angezeigt wird, sollte der Befehl importConsent unmittelbar nach dem CMP-Code aufgerufen werden. Das CMP stellt den Befehl in die Warteschlange und importiert die Zustimmungsinformationen als ersten Schritt beim Laden des CMP automatisch.

Hier ist ein einfacher Beispielcode, der den Import durchführt, nach Änderungen sucht und die Einwilligungsdaten bei Bedarf exportiert:

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

Beispiel für die domänenübergreifende Einwilligungsfreigabe per Klick

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

Applikation

Für Apps ist die Vorgehensweise dieselbe wie für das Web, nur die Funktionen / Namen sind unterschiedlich.

Android

Verwenden Sie zum Exportieren der Einwilligungsinformationen bitte

String consentData = CMPConsentTool.exportCMPData(this);

Um die Einwilligungsinformationen zu importieren, verwenden Sie bitte

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

iOS

Um die Einwilligungsinformationen zu importieren/exportieren, verwenden Sie bitte (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()

 

 

Nach oben