Hvis du skifter fra en anden cookie-administrationsløsning til vores, kan det være en god idé at overføre de samtykker, du allerede har indsamlet. Dette er nyttigt for at sikre, at brugere, der allerede har givet deres samtykke i henhold til den tidligere løsning, ikke præsenteres for cookiebanneret og den tilhørende anmodning om samtykke igen.
Der er to måder at gøre det på, afhængigt af om den “gamle” platform leverer en cookie(synkron metode) eller kræver et kald til dens API(asynkron metode).
Synkron metode
Før du integrerer Privacy Controls and Cookie Solution, skal du definere en synkron funktion (f.eks. isConsentGivenByOtherPlatform
) for at få samtykke fra den anden platform:
<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>
Vigtigt
Du skal ikke kopiere og indsætte koden ovenfor – det er bare et eksempel på kode, som vi har givet dig for at hjælpe dig med at forstå fremgangsmåden.
Tilføj derefter snippet Privacy Controls and Cookie Solution, og påkald tilbagekaldet onReady
:
<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>
Tilbagekaldet til onReady
kontrollerer, om der allerede er givet samtykke på en anden platform, og gemmer det i så fald ved at kalde metoden _iub.cs.api.setPreferences()
.
Samtykke pr. kategori
_iub.cs.api.storeConsent()
gør det også muligt at tilpasse formål i argumentet, som kan være {consent: true}
, {consent: false}
eller {purposes: {1: true, 2: false, …}}
.
Asynkron metode
Før du indlejrer koden til Privacy Controls and Cookie Solution, skal du definere en funktion, der:
- accepterer et tilbagekald;
- opdager samtykket;
- gemmer samtykket i en global variabel; og
- påkalder tilbagekaldelsen bagefter.
Her er et eksempel:
<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>
Vigtigt
Du skal ikke kopiere og indsætte koden ovenfor – det er bare et eksempel på kode, som vi har givet dig for at hjælpe dig med at forstå fremgangsmåden.
Tilføj derefter snippet Privacy Controls and Cookie Solution, og påkald on
Ready callback:
<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>
Tilbagekaldet til onReady
tjekker, om der allerede er givet samtykke på en anden platform, og gemmer det i så fald ved at kalde metoden _iub.cs.api.setPreferences()
.
Samtykke pr. kategori
_iub.cs.api.storeConsent()
gør det også muligt at tilpasse formål i argumentet, som kan være {consent: true}
, {consent: false}
eller {purposes: {1: true, 2: false, …}}
.
_iub.cs.api.setPreferences(consentObj, hideBanner)
Metoden _iub.cs.api.setPreferences
forventer to argumenter: consentObj (påkrævet) og hideBanner (valgfrit).
consentObj
Det er et objekt med følgeindstillinger:
- samtykke – påkrævet – accepterer
true
ellerfalse
– Det refererer til generelt samtykke - ccpa – påkrævet, hvis CCPA er aktiveret – accepterer
true
ellerfalse
– det henviser til amerikansk privatliv, og det vil kun blive anvendt, hvis CCPA er aktiveret i Cookie Solution - uspr – påkrævet, hvis USPR er aktiveret – accepterer et objekt med følgende muligheder – det henviser til USPR-samtykke, og det vil kun blive anvendt, hvis USPR er aktiveret i Cookieløsningen
- all – accepterer
true
ellerfalse
– denne indstilling indstiller den samme værdi til alle formål
- all – accepterer
uspr: { all: true // or false }
- [purposeId] – accepterer
true
ellerfalse
– denne indstilling indstiller værdien til specifikke ID-formål
uspr: { 's': true, // or false 'sh': false, // or true 'adv': false // or true }
- formål – påkrævet, hvis
perPurposeConsent
er aktiveret – accepterer et objekt med følgende muligheder – det henviser til samtykke til formål, og det vil kun blive anvendt, hvisperPurposeConsent
er aktiveret i Cookie Solution- all – accepterer
true
ellerfalse
– denne indstilling indstiller den samme værdi til alle formål
- all – accepterer
purposes: { all: true // or false }
- [purposeId] – accepterer
true
ellerfalse
– denne indstilling indstiller værdien til specifikke ID-formål
purposes: { '1': true, // or false '2': false, // or true '4': false // or true }
- tcfv2 – påkrævet, hvis TCF er aktiveret – accepterer et objekt med følgende muligheder – det henviser til TCF-samtykke, og det vil kun blive anvendt, hvis TCF er aktiveret i Cookieløsningen
- all – accepterer
true
ellerfalse
– denne indstilling indstiller den samme værdi til alle TCF-formål
- all – accepterer
tcfv2: { all: true // or false }
- [string] – accepterer en TCF-streng
tcfv2: 'CP9rVEAP9rVEAB7FGCENAyEgAAAAAAAAAAAAAAAUHgJAA4AM-AjwBKoDfAHbAO5AgoBIgCSgEowJaATHAmSBNICfYFBAKDgAAAAA'
- gac – påkrævet, hvis Google Aditional Consent er aktiveret – accepterer et objekt med følgende muligheder – det henviser til GAC-samtykke, og det anvendes kun, hvis GAC er aktiveret i Cookie Solution
- all – accepterer
true
ellerfalse
– denne indstilling indstiller den samme værdi for alle GAC-leverandører
- all – accepterer
gac: { all: true // or false }
- [string] – accepterer en GAC-streng
gac: '1~1584.2292.2392'
hideBanner
Det er en boolean for at skjule eller ikke skjule banneret efter præferencelageret, i dette tilfælde skal det altid være 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