Współdzielenie zgody między urządzeniami

ConsentManager obsługuje funkcję Cross-Device Consent Shareing. Aby udostępniać informacje o zgodzie na wielu urządzeniach, strona internetowa/aplikacja musi spełniać następujące wymagania:

  • Witryna internetowa/aplikacja musi być w stanie identyfikować użytkownika na różnych urządzeniach. Odbywa się to zazwyczaj poprzez logowanie na stronie internetowej lub w aplikacji: za każdym razem, gdy użytkownik loguje się na konto, (nowe) urządzenie może korzystać z tych samych informacji dotyczących zgody, co wszystkie inne urządzenia tego samego użytkownika.
  • Twoja platforma (ta, która przechowuje dane logowania użytkownika) musi być w stanie przechowywać informacje o zgodzie użytkownika po stronie serwera. Informacje o zgodzie będą miały postać ciągu alfanumerycznego o rozmiarze do 8 KB.

Ogólna konfiguracja

Aby udostępnić zgodę na wielu urządzeniach, zostaną wykonane następujące kroki:

  1. Kiedy użytkownik odwiedza stronę internetową lub aplikację po raz pierwszy, nie ma tam żadnych informacji o zgodzie i użytkownik zostanie poproszony o wyrażenie zgody.
  2. Gdy użytkownik wyrazi zgodę, CMP zapisze informacje o zgodzie na urządzeniu użytkownika i powiadomi stronę internetową lub aplikację o obecności nowych informacji dotyczących zgody.
  3. Witryna internetowa lub aplikacja pobierze/wyeksportuje informacje o zgodzie z CMP i zapisze je we własnej bazie danych wraz z profilem użytkownika.
  4. Przy następnej wizycie użytkownika na stronie internetowej lub w aplikacji istniejące informacje o zgodzie zostaną zaimportowane do CMP.

Strona internetowa

Aby wyeksportować informacje o zgodzie, można użyć polecenia __cmp('exportConsent') . Wyświetli on informacje o zgodzie jako ciąg znaków zakodowany w base64, bezpieczny dla sieci.

Aby zaimportować istniejące informacje, można użyć polecenia __cmp('importConsent','....') . Ustawi to wewnętrzne informacje o zgodzie i wyłączy ekran zgody.

Alternatywnie możesz również przekazać informacje o zgodzie poprzez adres URL, używając parametru ?cmpimport=... lub #cmpimport=...

Uwaga: Aby uniknąć wyświetlania ekranu zgody, polecenie importConsent powinno zostać wywołane bezpośrednio po kodzie CMP. CMP umieści polecenie w kolejce i automatycznie zaimportuje informacje o zgodzie jako pierwszy krok podczas ładowania CMP.

Oto prosty przykładowy kod, który wykona import, sprawdzi zmiany i w razie potrzeby wyeksportuje dane dotyczące zgody:

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

Przykład przekazania zgody do innego okna lub strony internetowej:

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

Aplikacja

W przypadku aplikacji procedura jest taka sama jak w przypadku stron internetowych, różnią się jedynie funkcje/nazwy.

Android

Aby wyeksportować informacje dotyczące zgody, użyj

String consentData = CMPConsentTool.exportCMPData(this);

Aby zaimportować informacje dotyczące zgody, użyj

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

iOS

Aby zaimportować/wyeksportować informacje dotyczące zgody, skorzystaj z (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!