Delning av samtycke mellan olika enheter

ConsentManager stöder delning av samtycke mellan olika enheter. För att kunna dela samtyckesinformation mellan 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 i appen: Varje gång användaren loggar in på kontot kan den (nya) enheten dela samma samtyckesinformation som alla andra enheter som tillhör samma användare.
  • Er plattform (den som lagrar användarens inloggningsuppgifter) måste kunna lagra användarens samtyckesinformation på serversidan. Samtyckesinformationen kommer att vara en alfanumerisk sträng med en storlek på upp till 8 kb

Allmän inställning

För att samtycket ska gälla på flera enheter kommer följande steg att utföras:

  1. När användaren besöker webbplatsen eller appen för första gången visas ingen information om samtycke och användaren kommer att ombes att ge sitt samtycke.
  2. När användaren har gett sitt samtycke lagrar CMP samtyckesinformationen på användarens enhet och meddelar webbplatsen eller appen att ny samtyckesinformation finns tillgänglig.
  3. Webbplatsen eller appen hämtar/exporterar samtyckesinformationen från CMP och lagrar den i sin egen databas tillsammans med användarens profil.
  4. Nästa gång användaren besöker webbplatsen eller appen kommer den att importera den befintliga samtyckesinformationen till CMP.

Web

För att exportera samtyckesinformationen kan kommandot __cmp('exportConsent') . Det kommer att mata ut samtyckesinformationen som en base64-kodad websäker sträng.

För att importera befintlig information kan kommandot __cmp('importConsent','....') . Det ställer in den interna samtyckesinformationen och inaktiverar samtyckesskärmen.

Som alternativ kan du också skicka samtyckesinformationen via URL:en med hjälp av parametern ?cmpimport=... eller #cmpimport=...

Observera: För att undvika att samtyckesskärmen visas bör kommandot importConsent anropas omedelbart efter CMP-koden. CMP kommer att köa kommandot och automatiskt importera samtyckesinformationen som ett första steg när CMP laddas.

Här är ett enkelt exempel på kod som utför importen, kontrollerar om det finns ändringar och exporterar samtyckesdata vid behov:

<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å att vidarebefordra samtycke till ett annat fönster eller en annan webbplats:

<button onclick="redirectPage()">Click me!</button>
<script>   
  function redirectPage()
  {
   var c = __cmp("exportConsent");
   location.href= "https://mywebsite.com/somepage?someparameter#cmpimport="+c;
  }
 </script>

App

För appar är proceduren densamma som för webben, endast funktionerna/namnen skiljer sig åt.

Android

För att exportera informationen om samtycke, använd

String consentData = CMPConsentTool.exportCMPData(this);

För att importera informationen om samtycke, använd

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

 

 

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!