Si vous passez d’une autre solution de gestion des cookies à la nôtre, vous souhaitez peut-être migrer les consentements déjà recueillis. La migration permet de vous assurer que les utilisateurs qui ont déjà donné leur consentement à l’aide de la solution précédente ne voient pas s’afficher de nouveau le bandeau cookies et la demande de consentement dont il s’accompagne.
Vous avez deux façons de procéder, selon que l’ancienne plateforme fournit un cookie (méthode synchrone) ou nécessite un appel à son API (méthode asynchrone).
Avant d’intégrer Privacy Controls and Cookie Solution, vous devrez créer une fonction synchrone (p.ex. isConsentGivenByOtherPlatform
) pour récupérer le consentement à partir de l’ancienne plateforme :
<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>
Ne copiez-collez pas le code ci-dessus : il s’agit d’un simple exemple de code donné pour vous aider à comprendre cette approche.
Ensuite, ajoutez le code de Privacy Controls and Cookie Solution en appelant la fonction de rappel onBeforePreload
:
<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": {
onBeforePreload: function() {
if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) {
_iub.cs.api.storeConsent();
}
}
}
};
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
La fonction de rappel onBeforePreload
vérifie si le consentement a déjà été donné sur une autre plateforme et, le cas échéant, stocke ce consentement en appelant la méthode _iub.cs.api.storeConsent()
.
_iub.cs.api.storeConsent()
vous permet également de définir des finalités et accepte un argument optionnel qui peut être {consent: true}
, {consent: false}
ou {purposes: {1: true, 2: false, …}}
. Si vous ne lui affectez aucun argument, son comportement sera le même que si vous lui aviez affecté {consent: true}
.
Avant d’intégrer le code de Privacy Controls and Cookie Solution, vous devrez créer une fonction qui :
En voici un exemple :
<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>
Ne copiez-collez pas le code ci-dessus : il s’agit d’un simple exemple de code donné pour vous aider à comprendre cette approche.
Ensuite, ajoutez le code de Privacy Controls and Cookie Solution en appelant la fonction de rappel onBeforePreload
:
<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": {
onBeforePreload: function() {
if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) {
_iub.cs.api.storeConsent();
}
}
}
};
</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>
La fonction de rappel onBeforePreload
vérifie si le consentement a déjà été donné sur une autre plateforme et, le cas échéant, stocke ce consentement en appelant la méthode _iub.cs.api.storeConsent()
.
_iub.cs.api.storeConsent()
vous permet également de définir des finalités et accepte un argument optionnel qui peut être {consent: true}
, {consent: false}
ou {purposes: {1: true, 2: false, …}}
. Si vous ne lui affectez aucun argument, son comportement sera le même que si vous lui aviez affecté {consent: true}
.