Info
Innehåll

Samhällsdelning mellan enheter

ConsentManager stöder övergripande enhetsdelning mellan enheter. För att dela samtyckeinformation på flera enheter måste webbplatsen / appen uppfylla följande krav:

  • Webbplatsen / appen måste kunna identifiera användaren på olika enheter. Detta görs vanligtvis via en inloggning på webbplatsen eller appen: Varje gång användaren loggar in på kontot kan den (nya) enheten dela samma samtyckeinformation som alla andra enheter för samma användare.
  • Din plattform (den som lagrar användarens inloggning) måste kunna lagra användarens samtyckeinformation på serversidan. Samtyckesinformationen kommer att vara en alfanummerisk sträng med upp till 8 kb storlek

Allmän inställning

Följande steg utförs för att dela medgivandet på flera enheter:

  1. När användaren besöker webbplatsen eller appen först finns ingen information om samtycke och användaren kommer att be om samtycke.
  2. När användaren har gett samtycke, kommer CMP att lagra samtyckeinformationen på användarens enhet och meddela webbplatsen eller appen att ny samtyckeinformation finns.
  3. Webbplatsen eller appen hämtar / exporterar samtyckeinformation från CMP och lagrar den i sin egen databas tillsammans med användarprofilen.
  4. Nästa gång användaren besöker webbplatsen eller appen kommer den att importera befintlig samtyckeinformation till CMP.

web

För att exportera samtyckeinformationen, kommandot __cmp('exportConsent') kan användas. Det kommer att mata ut samtyckeinformationen som en bas64-kodad websafe-sträng.

För att importera befintlig information, kommandot __cmp('importConsent','....') kan användas. Det ställer in information om internt samtycke och inaktiverar samtyckeskärmen.

Som ett alternativ kan du också skicka samtyckeinformation via URL med hjälp av parameter ?cmpimport=... or #cmpimport=...

Vänligen notera: För att undvika att samtyckeskärmen visas bör kommandot importConsent kallas omedelbart efter CMP-koden. CMP kommer att stå i kö i kommandot och importerar automatiskt samtyckeinformationen som ett första steg när du laddar CMP.

Här är ett enkelt exempelkod som kommer att utföra importen, kontrollera för ändringar och exportera samtycke om det behövs:

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

Exempel på delning av samtycke över flera domäner vid 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 appar är proceduren densamma som för webben, bara funktionerna / namnen är olika.

Android

Använd för att exportera samtyckeinformationen

String consentData = CMPConsentTool.exportCMPData(this);

Använd för att importera samtyckeinformationen

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

iOS

För att importera/exportera samtyckesinformationen, använd (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()

 

 

Tillbaka till toppen