Udostępnianie zgody na różnych urządzeniach
ConsentManager obsługuje udostępnianie zgody między urządzeniami. Aby udostępniać informacje o zgodzie na wiele urządzeń, witryna/aplikacja musi spełniać następujące wymagania:
- Witryna/aplikacja musi być w stanie identyfikować użytkownika na różnych urządzeniach. Zwykle odbywa się to poprzez zalogowanie się na stronie internetowej lub w aplikacji: Za każdym razem, gdy użytkownik loguje się na konto, (nowe) urządzenie może udostępniać te same informacje o zgodzie, co wszystkie inne urządzenia tego samego użytkownika.
- Twoja platforma (ta, która przechowuje login użytkownika) musi być w stanie przechowywać informacje o zgodzie użytkownika po stronie serwera. Informacja o zgodzie będzie ciągiem alfanumerycznym o rozmiarze do 8 kb
Konfiguracja ogólna
- Gdy użytkownik najpierw odwiedza witrynę internetową lub aplikację, nie ma informacji o zgodzie i użytkownik zostanie poproszony o zgodę.
- Gdy użytkownik wyrazi zgodę, CMP będzie przechowywać informacje o zgodzie na urządzeniu użytkownika i powiadomi witrynę internetową lub aplikację, że dostępne są nowe informacje o zgodzie.
- Witryna lub aplikacja pobierze/wyeksportuje informacje o zgodzie z CMP i zapisze je we własnej bazie danych wraz z profilem użytkownika.
- Następnym razem, gdy użytkownik odwiedzi witrynę lub aplikację, zaimportuje istniejące informacje o zgodzie do CMP.
Sieć
Aby wyeksportować informacje o zgodzie, polecenie __cmp('exportConsent')
może być zastosowane. Wygeneruje informacje o zgodzie jako zakodowany w base64 ciąg bezpieczny dla sieci.
Aby zaimportować istniejące informacje, polecenie __cmp('importConsent','....')
może być zastosowane. Ustawi wewnętrzne informacje o zgodzie i wyłączy ekran akceptacji.
Alternatywnie możesz również przekazać informacje o zgodzie za pośrednictwem adresu URL za pomocą parametru ?cmpimport=...
or #cmpimport=...
UWAGA: Aby uniknąć wyświetlenia 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 wyeksportuje dane zgody, jeśli to konieczne:
<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>
Aplikacja
W przypadku aplikacji procedura jest taka sama jak w przypadku Internetu, różnią się tylko funkcje/nazwy.
Android
Aby wyeksportować informacje o zgodzie, użyj
String consentData = CMPConsentTool.exportCMPData(this);
Aby zaimportować informacje o zgodzie, użyj
CMPConsentTool.importCMPData(this, "...data...");
iOS
Aby zaimportować/eksportować informacje o zgodzie, użyj (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()