Wenn Sie von einer anderen Cookie-Verwaltungslösung zu unserer wechseln, möchten Sie vielleicht die bereits gesammelten Einwilligungen migrieren. Dies ist nützlich, um sicherzustellen, dass Benutzer, die ihre Zustimmung bereits im Rahmen der vorherigen Lösung gegeben haben, nicht erneut das Cookie-Banner und die damit verbundene Bitte um Zustimmung angezeigt bekommen.
Es gibt zwei Möglichkeiten, dies zu tun, je nachdem, ob die “alte” Plattform ein Cookie bereitstellt(synchrone Methode) oder einen Aufruf ihrer API erfordert(asynchrone Methode).
Bevor Sie die Privacy Controls and Cookie Solution einbetten, müssen Sie eine synchrone Funktion (z.B. isConsentGivenByOtherPlatform
) definieren, um die Zustimmung von der anderen Plattform zu erhalten:
<script type="text/javascript"> function readLocalCookie(cookieName) { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var e=cookies[i].split('='); if (e[0] === cookieName) { return e[1]; } } return null; } function isConsentGivenByOtherPlatform() { var otherPlatformCookieName = 'cookie_from_other_platform'; // use the actual cookie name saved by the other platform var prevConsent = readLocalCookie(otherPlatformCookieName); if (prevConsent) { return true; } else { return false; } } </script>
Kopieren Sie den oben gezeigten Code nicht und fügen Sie ihn nicht ein – es ist nur ein Beispielcode, den wir Ihnen zur Verfügung gestellt haben, damit Sie den Ansatz verstehen.
Als nächstes fügen Sie das Privacy Controls and Cookie Solution-Snippet hinzu und rufen den onReady
Callback auf:
<script type="text/javascript"> var _iub = _iub || []; _iub.csConfiguration = { "lang": "en", "siteId": XXXXXX, // use your siteId "cookiePolicyId": YYYYYY, // use your cookiePolicyId "banner": { "acceptButtonDisplay": true, "customizeButtonDisplay": true, "position": "float-top-center" }, "callback": { "onReady": function() { if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) { _iub.cs.api.setPreferences({ consent: true, ccpa: true, uspr: { 'all': true, 'sd8': true, 'sd9': true, }, purposes: { '1': true, '2': true, '3': true, '4': true, '5': true, }, tcfv2: { 'all': true, }, gac: { 'all': true, }, }, true); } } } }; </script> <script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Der onReady
Callback prüft, ob die Zustimmung bereits auf einer anderen Plattform erteilt wurde, und speichert sie, falls dies der Fall ist, indem er die Methode _iub.cs.api.setPreferences()
aufruft.
_iub.cs.api.storeConsent()
erlaubt es auch, den Zweck im Argument {consent: true}
, {consent: false}
oder {purposes: {1: true, 2: false, …}}
anzupassen.
Bevor Sie den Code für Privacy Controls and Cookie Solution einbetten, müssen Sie eine Funktion definieren, die:
Hier ist ein Beispiel:
<script type="text/javascript"> // fetch consent asynchronously from 3rd party function getConsentByOtherPlatform(cb) { $.getJSON('http://otherplatform.com/api/get-consent', function(result) { if (result.given) { window.consentByOtherPlatform = true; } else { window.consentByOtherPlatform = false; } cb(); }); } function isConsentGivenByOtherPlatform() { return !!window.consentByOtherPlatform; } </script>
Kopieren Sie den oben gezeigten Code nicht und fügen Sie ihn nicht ein – es ist nur ein Beispielcode, den wir Ihnen zur Verfügung gestellt haben, damit Sie den Ansatz verstehen.
Als nächstes fügen Sie das Privacy Controls and Cookie Solution Snippet hinzu und rufen den on
Ready Callback auf:
<script type="text/javascript"> var _iub = _iub || []; _iub.csConfiguration = { "lang": "en", "siteId": XXXXXX, // use your siteId "cookiePolicyId": YYYYYY, // use your cookiePolicyId "banner": { "acceptButtonDisplay": true, "customizeButtonDisplay": true, "position": "float-top-center" }, "callback": { "onReady": function() { if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) { _iub.cs.api.setPreferences({ consent: true, ccpa: true, uspr: { 'all': true, 'sd8': true, 'sd9': true, }, purposes: { '1': true, '2': true, '3': true, '4': true, '5': true, }, tcfv2: { 'all': true, }, gac: { 'all': true, }, }, true); } } } } }; </script> <script type="text/javascript"> // ask for 3rd party consent before including the CS getConsentByOtherPlatform(function() { var s = document.createElement('script'); s.src = '//cdn.iubenda.com/cs/iubenda_cs.js'; document.head.appendChild(s); }); </script>
Der onReady
Callback prüft, ob die Zustimmung bereits auf einer anderen Plattform erteilt wurde und speichert sie, falls dies der Fall ist, indem er die Methode _iub.cs.api.setPreferences()
aufruft.
_iub.cs.api.storeConsent()
erlaubt es auch, den Zweck im Argument {consent: true}
, {consent: false}
oder {purposes: {1: true, 2: false, …}}
anzupassen.
Die Methode _iub.cs.api.setPreferences
, die zwei Argumente erwartet: consentObj (erforderlich) und hideBanner (optional)
Es ist ein Objekt mit folgenden Einstellungen:
true
oder false
– Es handelt sich um eine allgemeine Zustimmungtrue
oder false
– es bezieht sich auf den US-Datenschutz und wird nur angewendet, wenn CCPA in Cookie Solution aktiviert isttrue
oder false
– diese Option setzt den gleichen Wert für alle Zweckeuspr: { all: true // or false }
true
oder false
– diese Option legt den Wert für bestimmte ID-Zwecke festuspr: { 's': true, // or false 'sh': false, // or true 'adv': false // or true }
perPurposeConsent
aktiviert ist – akzeptiert ein Objekt mit den folgenden Optionen – es bezieht sich auf die Zustimmung zu den Zwecken und wird nur angewendet, wenn perPurposeConsent
in Cookie Solution aktiviert ist
true
oder false
– diese Option setzt den gleichen Wert für alle Zweckepurposes: { all: true // or false }
true
oder false
– diese Option legt den Wert für bestimmte ID-Zwecke festpurposes: { '1': true, // or false '2': false, // or true '4': false // or true }
true
oder false
– diese Option setzt den gleichen Wert für alle TCF-Zwecketcfv2: { all: true // or false }
tcfv2: 'CP9rVEAP9rVEAB7FGCENAyEgAAAAAAAAAAAAAAAUHgJAA4AM-AjwBKoDfAHbAO5AgoBIgCSgEowJaATHAmSBNICfYFBAKDgAAAAA'
true
oder false
– diese Option setzt den gleichen Wert für alle GAC-Anbietergac: { all: true // or false }
gac: '1~1584.2292.2392'
Es handelt sich um einen Booleschen Wert, mit dem Sie das Banner nach der Speicherung der Einstellungen ausblenden oder nicht ausblenden können, in diesem Fall sollte es immer true
_iub.cs.api.setPreferences({ ... }, true); // hide the banner after the preference storage _iub.cs.api.setPreferences({ ... }, false); // keep the banner after the preference storage