Als je overstapt van een andere cookiebeheeroplossing naar de onze, wil je misschien de toestemmingen die je al hebt verzameld migreren. Dit is handig om ervoor te zorgen dat gebruikers die al toestemming hebben gegeven onder de vorige oplossing niet opnieuw de cookiebanner en het bijbehorende verzoek om toestemming te zien krijgen.
Er zijn twee manieren om dit te doen, afhankelijk van of het “oude” platform een cookie levert(synchrone methode) of een aanroep naar zijn API vereist(asynchrone methode).
Voordat je de Privacy Controls and Cookie Solution insluit, moet je een synchrone functie definiëren (bijvoorbeeld isConsentGivenByOtherPlatform
) om de toestemming van het andere platform te krijgen:
<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>
Kopieer en plak de bovenstaande code niet – het is slechts voorbeeldcode die we hebben geleverd om je te helpen de aanpak te begrijpen.
Voeg vervolgens het Privacy Controls and Cookie Solution knipsel toe, waarbij de onReady
callback wordt aangeroepen:
<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>
De callback onReady
controleert of er al toestemming is gegeven op een ander platform en slaat deze zo ja op door de methode _iub.cs.api.setPreferences()
aan te roepen.
_iub.cs.api.storeConsent()
maakt het ook mogelijk om doelen aan te passen in het argument dat {consent: true}
, {consent: false}
of {purposes: {1: true, 2: false, …}}
kan zijn.
Voordat je de Privacy Controls and Cookie Solution code insluit, moet je een functie definiëren die:
Hier is een voorbeeld:
<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>
Kopieer en plak de bovenstaande code niet – het is slechts voorbeeldcode die we hebben geleverd om je te helpen de aanpak te begrijpen.
Voeg vervolgens de snippet Privacy Controls and Cookie Solution toe, waarbij de callback on
Ready wordt aangeroepen:
<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>
De callback onReady
controleert of er al toestemming is gegeven op een ander platform en slaat deze zo ja op door de methode _iub.cs.api.setPreferences()
aan te roepen.
_iub.cs.api.storeConsent()
maakt het ook mogelijk om doelen aan te passen in het argument dat {consent: true}
, {consent: false}
of {purposes: {1: true, 2: false, …}}
kan zijn.
De methode _iub.cs.api.setPreferences
verwacht twee argumenten: consentObj (vereist) en hideBanner (optioneel).
Het is een object met volgvoorkeuren:
true
of false
– het verwijst naar algemene toestemmingtrue
of false
– dit verwijst naar privacy in de VS en wordt alleen toegepast als CCPA is ingeschakeld in Cookie Solutiontrue
of false
– deze optie stelt dezelfde waarde in voor alle doeleindenuspr: { all: true // or false }
true
of false
– deze optie stelt de waarde in voor specifieke ID-doeleindenuspr: { 's': true, // or false 'sh': false, // or true 'adv': false // or true }
perPurposeConsent
is ingeschakeld – accepteert een object met de volgende opties – dit verwijst naar toestemming voor doeleinden en wordt alleen toegepast als perPurposeConsent
is ingeschakeld in Cookie Solution.
true
of false
– deze optie stelt dezelfde waarde in voor alle doeleindenpurposes: { all: true // or false }
true
of false
– deze optie stelt de waarde in voor specifieke ID-doeleindenpurposes: { '1': true, // or false '2': false, // or true '4': false // or true }
true
of false
– deze optie stelt dezelfde waarde in voor alle TCF doeleindentcfv2: { all: true // or false }
tcfv2: 'CP9rVEAP9rVEAB7FGCENAyEgAAAAAAAAAAAAAAAUHgJAA4AM-AjwBKoDfAHbAO5AgoBIgCSgEowJaATHAmSBNICfYFBAKDgAAAAA'
true
of false
– deze optie stelt dezelfde waarde in voor alle GAC-leveranciersgac: { all: true // or false }
gac: '1~1584.2292.2392'
Het is een booleaans om de banner wel of niet te verbergen na de voorkeursopslag, in dit geval moet het altijd zijn 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