CINXE.COM

Cookie Solution per dispositivi mobili | Guida per sviluppatori - iubenda help

<!DOCTYPE html> <html lang="it" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta class="swiftype" name="tags" data-type="string" content="it"> <meta charset="utf-8"> <title>Cookie Solution per dispositivi mobili | Guida per sviluppatori - iubenda help</title> <meta name="title" content="Cookie Solution per dispositivi mobili | Guida per sviluppatori - iubenda help"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Language" content="it"> <meta name="locale" content="it"> <meta name="description" content="  iOS Aggiungere l’SDK di iubenda al progetto Per aggiungere l’SDK di iubenda al tuo progetto, puoi usare CocoaPods con la seguente configurazione: Per aggiornare automaticamente la versione della libreria con l’aggiornamento del pod, puoi impostare la dipendenza come segue: Per utilizzare la libreria nel codice: Inizializzare l’SDK Nella classe AppDelegate, all’interno del metodo didFinishLaunchingWithOptions,… Continue reading Cookie Solution per dispositivi mobili | Guida per sviluppatori"> <meta name="robots" content="index"> <meta name="image" content="https://www.iubenda.com/seo/assets/default.png"> <meta name="twitter:card" content="summary"> <meta name="twitter:title" content="Cookie Solution per dispositivi mobili | Guida per sviluppatori"> <meta name="twitter:description" content="  iOS Aggiungere l’SDK di iubenda al progetto Per aggiungere l’SDK di iubenda al tuo progetto, puoi usare CocoaPods con la seguente configurazione: Per aggiornare automaticamente la versione della libreria con l’aggiornamento del pod, puoi impostare la dipendenza come segue: Per utilizzare la libreria nel codice: Inizializzare l’SDK Nella classe AppDelegate, all’interno del metodo didFinishLaunchingWithOptions,… Continue reading Cookie Solution per dispositivi mobili | Guida per sviluppatori"> <meta name="twitter:site" content="@iubenda"> <meta name="twitter:image:src" content="https://www.iubenda.com/seo/assets/default.png"> <meta property="og:title" content="Cookie Solution per dispositivi mobili | Guida per sviluppatori"> <meta property="og:description" content="  iOS Aggiungere l’SDK di iubenda al progetto Per aggiungere l’SDK di iubenda al tuo progetto, puoi usare CocoaPods con la seguente configurazione: Per aggiornare automaticamente la versione della libreria con l’aggiornamento del pod, puoi impostare la dipendenza come segue: Per utilizzare la libreria nel codice: Inizializzare l’SDK Nella classe AppDelegate, all’interno del metodo didFinishLaunchingWithOptions,… Continue reading Cookie Solution per dispositivi mobili | Guida per sviluppatori"> <meta property="og:image" content="https://www.iubenda.com/seo/assets/default.png"> <meta property="og:url" content="https://www.iubenda.com/it/help/144358-cs-for-mobile-developers-guide"> <meta property="og:site_name" content="iubenda"> <meta property="og:locale" content="it"> <meta property="og:type" content="website"> <meta property="fb:app_id" content="190131204371223"> <script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","url":"https://www.iubenda.com","name":"iubenda","logo":"https://www.iubenda.com/seo/assets/logo.png","sameAs":["https://www.facebook.com/iubenda","https://www.twitter.com/iubenda"],"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.8","reviewCount":"133"}}</script> <link rel="canonical" href="https://www.iubenda.com/it/help/144358-cs-for-mobile-developers-guide" /> <link rel="alternate" href="https://www.iubenda.com/it/help/144358-cs-for-mobile-developers-guide" hreflang="it" /> <link rel="alternate" href="https://www.iubenda.com/en/help/19678-cs-for-mobile-developers-guide" hreflang="en" /> <link rel="alternate" href="https://www.iubenda.com/de/help/144364-cs-for-mobile-developers-guide" hreflang="de" /> <link rel="alternate" href="https://www.iubenda.com/fr/help/144356-cs-for-mobile-developers-guide" hreflang="fr" /> <link rel="alternate" href="https://www.iubenda.com/nl/help/144361-cs-for-mobile-developers-guide" hreflang="nl" /> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="3WXrxpGL2P4c-avtXE3aiweQCvq1-oKbnG7_LUIcwRJoD5AM7xZfdJQc20ykAiC5zmvSQC-vRqK1C4oYzZuedA" /> <meta name="csp-nonce" content="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" /> <link nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" rel="preload" href="/assets/site-be15c0c80e936b02e6b09b4020b4138368c2c08c6ad84fdc7e75c98998d01c63.js" as="script"> <link nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" rel="preload" href="/assets/core-d5f810d7d8a277a7da1e0674924985e7f7a32f8977c982cc8d3f069f21157d74.css" as="style"> <link nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" rel="preload" as="script" href="/assets/builds/growthbook-2e346335d144883fc546.js"> <link nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" rel="preload" href="/assets/app-a9f22303186f392a2d1c5c09a9b7e39446dd6d2a1047760765988752016eb421.js" as="script"> <link nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" rel="preload" href="/assets/help-7055e18550194093deea.js" as="script"> <link nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" rel="preload" href="https://cdn.iubenda.com/cons/beta/iubenda_cons.js" as="script"> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Medium-9c3fd6d5af782a4511dc56bc490a29d341f5f775a1473d9498abc91e0fe793db.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/icons/iubenda-519eefd5e2627f078cb37ad800d0876b5986439f792cc1ae8df4a4cbc4c5e660.woff" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Regular-f089423b22171f8b5954000d1136ad533e7c6942974875d514b75477680b2ac9.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Bold-c10fcca174a9767aab6fa40c8c39ce42a696a48fd3091732280196a1042e3abb.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Light-abd02846fe10b12c6394b41fd7ac3914ca8cbf09234e0001d696c724ae44102b.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Italic-4a89ad60aaf82464ae047d83a45fc663f62823f102bcc8e9c8429dbc36ccd6f4.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/tisa/light-italic-318917ed1d2496362d0f10cf4cbc0f042223eb68d6c355159f93a6c67aa59fef.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/tisa/light-2d8a5a0678adfb941a86c53ab436176bbeba11994c0da2be4ef1f6902079c121.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/tisa/regular-italic-0e9999012ee0ca260e0ab1aaeeb21d60b6853ebf38fb09bf228be80cb2ef69a9.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/tisa/regular-833a2fba288bd5d9fcbdc7a268303eeeb6fe71f902ba7422c04ab9dcb19a7311.woff2" type="font/woff2" crossorigin> <link rel="stylesheet" href="/assets/core-d5f810d7d8a277a7da1e0674924985e7f7a32f8977c982cc8d3f069f21157d74.css" /> <link rel="preload" href="/assets/help-de56e2adf05bb2e958739ac773721cad924ffdebe199943fb4988e6a150d56e1.css" as="style"> <link rel="stylesheet" href="/assets/help-de56e2adf05bb2e958739ac773721cad924ffdebe199943fb4988e6a150d56e1.css" /> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ window.phraseappEnabled = null if (window.phraseappEnabled) { document.addEventListener('DOMContentLoaded', function() { $('body').on('click', '.pi_bc', function () { $('#iubenda-modal').removeAttr('tabindex'); }); }); } //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ window.CSP_NONCE = "08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"; //]]> </script> <script src="/assets/site-be15c0c80e936b02e6b09b4020b4138368c2c08c6ad84fdc7e75c98998d01c63.js" nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"></script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ I18n.defaultLocale = "en"; I18n.locale = "it"; //]]> </script> <script src="/assets/app-a9f22303186f392a2d1c5c09a9b7e39446dd6d2a1047760765988752016eb421.js" nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"></script> <script src="/assets/builds/runtime-2ff68eb49bb3248af410.js" async="async" nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"></script> <script src="/assets/help-7055e18550194093deea.js" nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"></script> <link rel="P3Pv1" href="https://www.iubenda.com/w3c/p3p.xml"> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ var _iub = _iub || {}; _iub.cons = _iub.cons || {}; _iub.cons.api_base_url = 'https://consent.iubenda.com/beta/public/'; _iub.cons_instructions = _iub.cons_instructions || []; _iub.cons_instructions.push(['init', { api_key: 'TxVC3QW2DacksiUzfazNBocfStJA2s9O', log_level: 'error', sendFromLocalStorageAtLoad: true, }]); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" id="cons_script" src="https://cdn.iubenda.com/cons/beta/iubenda_cons.js" async="async"> //<![CDATA[ //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ document.getElementById('cons_script').onload = function() { _iub.cons.api_base_url = 'https://consent.iubenda.com/beta/public/' } //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ (function() { window._iub = window._iub || []; _iub.csConfiguration = { "cookiePolicyId": 775731, "siteId": 1, "lang": 'it', "logLevel": 'error', "enableRemoteConsent": false, "consentOnScroll": false, "enableUspr": true, "enableLgpd": true, "countryDetection": true, "perPurposeConsent": true, "whitelabel": false, "googleUrlPassthrough": true, "floatingPreferencesButtonDisplay": true, "consentOnContinuedBrowsing": false, "promptToAcceptOnBlockedElements": true, "hasEmailMarketing": false, "banner": { "position": "float-top-center", "acceptButtonDisplay": true, "customizeButtonDisplay": true, "rejectButtonDisplay": true, "useCustomBrand": true, "brandTextColor": "#FFF", "brandBackgroundColor": "#1CC691", "acceptButtonColor": "#0073CE", "acceptButtonCaptionColor": "white", "customizeButtonColor": "#DADADA", "customizeButtonCaptionColor": "#4D4D4D", "rejectButtonColor": "#0073CE", "rejectButtonCaptionColor": "white", "textColor": "black", "backgroundColor": "white", "logo": "/assets/site/general/logo-whiteongreen-18a11ce988ecc91e9cd5433bcdc55e4023983ea75b8542ca108728f511881cf1.svg", "closeButtonRejects": true, "prependOnBody": true }, callback: { onActivationDone: function() { window.csActivationCompleted.resolve(); }, onPreferenceExpressedOrNotNeeded: function(prefs) { window.dispatchEvent(new Event('preference-expressed-or-not-needed')); const preferences = _iub.cs.api.getPreferences(); if (typeof preferences.id === 'undefined') { return; } // Handle quiz buttons for pricing pages const quizBtns = document.querySelectorAll(".appcues-quiz-btn"); if (preferences.purposes && preferences.purposes['4'] === true && preferences.purposes['5'] === true) { if( quizBtns.length > 0 ) { quizBtns.forEach( btn => { btn.classList.remove("disabled"); const alerts = document.querySelectorAll(".appcues-quiz-alert") alerts.forEach( alert => { alert.classList.add("d-none"); }); }); } } else { if( quizBtns.length > 0 ) { quizBtns.forEach( btn => { btn.classList.add("disabled"); const alerts = document.querySelectorAll(".appcues-quiz-alert") alerts.forEach( alert => { alert.classList.remove("d-none"); }); }); } } // Handle login button for Google Ads Login page const loginBtn = document.querySelector(".google-login-page .btn-google-oauth"); if (preferences.purposes && preferences.purposes['2'] === true) { if( loginBtn ) { loginBtn.classList.remove("disabled"); loginBtn.disabled = false; document.querySelector(".google-login-alert").classList.add("d-none"); } } else { if( loginBtn ) { loginBtn.classList.add("disabled"); loginBtn.disabled = true; document.querySelector(".google-login-alert").classList.remove("d-none"); } } // Handle chat button on dashboard sidebar const supportChatBtn = document.querySelector("#chat_support_box_button"); if( supportChatBtn ) { if (preferences.purposes && preferences.purposes['2'] === true && preferences.purposes['3'] === true && preferences.purposes['4'] === true && preferences.purposes['5'] === true) { document.querySelector("#support_box_accordion").classList.add("d-none"); supportChatBtn.classList.remove("d-none"); } } } }, "floatingPreferencesButtonZIndex": 1000, }; if (I18n.locale === 'da') { _iub.csConfiguration.banner.showPurposesToggles = true; } if (I18n.locale === 'en' || I18n.locale === 'it') { _iub.csConfiguration.hasEmailMarketing = true, _iub.csConfiguration.emailMarketing = { "styles":{ "backgroundColor":"#FFFFFF", "buttonsBackgroundColor":"#0073CE", "buttonsTextColor":"#FFFFFF", "footerBackgroundColor":"#1CC691", "footerTextColor":"#FFFFFF", "textColor":"#000000" }, "customI18n":{ "step1":{ "title":"Rimani aggiornato sulle normative privacy e conformità", "body": "Unisciti a oltre 500.000 iscritti e ricevi un’email mensile con aggiornamenti rapidi sulle leggi sulla privacy e sulle novità dei nostri prodotti. Bastano 3 minuti per restare informato. Annulla quando vuoi.\n" }, "successMessage": "Ti abbiamo appena inviato un'email. Conferma la tua iscrizione per iniziare a ricevere la nostra newsletter." } }; } window.csActivationCompleted = jQuery.Deferred(); })(); //]]> </script> <script src="https://cs.iubenda.com/sync/252372.js" nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"></script> <!-- <script src="//cdn.iubenda.com/cs/debugger.js"></script> --> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" type="text/javascript" src="//cdn.iubenda.com/cs/gpp/beta/stub.js"></script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" type="text/javascript" src= "//cdn.iubenda.com/cs/beta/iubenda_cs.js" charset="UTF-8" async></script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" type="text/plain" class="_iub_cs_activate" data-iub-purposes="5"> //<![CDATA[ (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; var n = d.querySelector('[nonce]'); n && j.setAttribute('nonce', n.nonce || n.getAttribute('nonce')); f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-PJDQKV'); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" type="text/plain" class="_iub_cs_activate" data-iub-purposes="5"> //<![CDATA[ (function(l,e,a,d,i,n,f,o){if(!l[i]){l.GlobalLeadinfoNamespace=l.GlobalLeadinfoNamespace||[]; l.GlobalLeadinfoNamespace.push(i);l[i]=function(){(l[i].q=l[i].q||[]).push(arguments)};l[i].t=l[i].t||n; l[i].q=l[i].q||[];o=e.createElement(a);f=e.getElementsByTagName(a)[0];o.async=1;o.src=d;f.parentNode.insertBefore(o,f);} }(window,document,'script','https://cdn.leadinfo.eu/ping.js','leadinfo','LI-665876B09328F')); //]]> </script> <link rel="shortcut icon" href="/favicon.ico"> <link rel="icon" type="image/png" href="/favicon.png"> <link rel="apple-touch-icon" href="/touch-icon-iphone.png"> </head> <body> <div class="top_bar" id="alert_msg" style="display:none;"> <div class="alert-message warning top"> <button id="alert-msg-site-close-button" class="close">&times;</button> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ document.querySelector('#alert-msg-site-close-button').addEventListener("click", function() { hideAlertMsg(); return false; }); //]]> </script> </div> </div> <header class="iub-header "> <div class="iub-topbar bg-gray-4 text-sm text-light py-2"> <div id="headerContainer" class="container"> <div class="d-flex justify-content-between align-items-center"> <div class="d-flex align-items-center"> <div> <ul class="list-unstyled mb-0 d-flex align-items-center"> <li class="list-inline-item"> <div class="dropdown"> <button class="btn btn-sm btn-faded-05 text-light dropdown-toggle rounded" type="button" id="dropdown-language" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="i-world mr-1 align-middle"></i><span>Italiano</span> </button> <div class="lang_selector dropdown-menu" aria-labelledby="dropdown-language"> <a class="dropdown-item" data-locale="it" href="/it/help/144358-cs-for-mobile-developers-guide" title="iubenda - generatore di privacy policy - versione italiana">Italiano </a> <a class="dropdown-item" data-locale="en" href="/en/help/19678-cs-for-mobile-developers-guide" title="iubenda - privacy policy generator - English version">English </a> <a class="dropdown-item" data-locale="de" href="/de/help/144364-cs-for-mobile-developers-guide" title="iubenda - Datenschutzerklärung-Generator - Deutsche Version">Deutsch </a> <a class="dropdown-item" data-locale="es" href="/es/help" title="iubenda - generador de políticas de privacidad - versión en español">Español </a> <a class="dropdown-item" data-locale="fr" href="/fr/help/144356-cs-for-mobile-developers-guide" title="iubenda - générateur de politique de confidentialité - version française">Français </a> <a class="dropdown-item" data-locale="pt-BR" href="/pt-br/help" title="iubenda - gerador de política de privacidade - versão em português">Português (BR) </a> <a class="dropdown-item" data-locale="nl" href="/nl/help/144361-cs-for-mobile-developers-guide" title="iubenda - privacybeleid-generator - Nederlandstalige versie">Nederlands </a> <a class="dropdown-item" data-locale="da" href="/da/help" title="iubenda – generator af privatlivspolitik – Dansk version">Dansk </a> <a class="dropdown-item" data-locale="pt" href="/pt/help" title="iubenda - gerador de política de privacidade - versão em português">Português </a> </div> </div> </li> <li class="list-inline-item d-none d-lg-flex"> <span class="unread-wrap flex-shrink"></span> </li> </ul> </div> <div id="appcues-launchpad"></div> </div> <div class="text-right"> <ul class="list-unstyled mb-0 d-flex align-items-center"> <li class="list-inline-item mr-2"><a data-lightbox=true href="/it/login?ref=header">Login</a></li> <li class="list-inline-item"><a data-lightbox=true href="/it/signup" class="btn btn-sm btn-dark text-white js-header-signup-button">Registrati</a></li> </ul> </div> </div> </div> </div> <div class="bg-white"> <div class="container"> <div class="row justify-content-between pt-3 pb-3"> <div class="col-8 d-block d-lg-flex"> <a href="/it/" class="d-inline-block mr-5"> <img width="92" height="33" alt="Iubenda logo" data-lazy-src="/assets/site/general/logo-bfafd02b1fe7dcf519f04f8f0a03c74573d4e051c3a18ae9aa39bdf0cb2b9ec6.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="92" height="33" alt="Iubenda logo" src="/assets/site/general/logo-bfafd02b1fe7dcf519f04f8f0a03c74573d4e051c3a18ae9aa39bdf0cb2b9ec6.svg" /> </noscript> </a> <ul class="d-block d-lg-flex list-unstyled mb-0 d-inline-block mainmenu" id="mainMenu" itemscope itemtype="http://schema.org/SiteNavigationElement"> <li class="align-self-center has-nav"> <span class="lh-2 p-3">Prodotti e servizi</span> <nav class="text-sm"> <div class="p-4"> <div class="mb-4"> <p class="serif text-light">Un set completo di soluzioni per rendere il tuo sito web o la tua app conformi alle normative, su più lingue e legislazioni</p> <ul class="list-unstyled mb-0"> <li class="list-inline-item d-block d-md-inline-block mr-md-0 mb-md-2"> <a href="/it/panoramica" class="btn btn-sm btn-outline-primary d-block">Panoramica</a> </li> <li class="list-inline-item d-block d-md-inline-block mr-md-0 mb-md-2"> <a href="/it/prezzi" class="btn btn-sm btn-outline-primary d-block">Prezzi</a> </li> </ul> </div> <div class="row line-between-columns"> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Privacy Policy icon" data-lazy-src="/assets/site/products/privacy_policy-6641fa252acadc2d7bbbb2ba7a127e9765cacbbb50f11264df6bcb68e657e81c.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Privacy Policy icon" src="/assets/site/products/privacy_policy-6641fa252acadc2d7bbbb2ba7a127e9765cacbbb50f11264df6bcb68e657e81c.svg" /> </noscript> </div> <div> <div class="products_tags mb-3"> <div><i class="i-check mr-1 text-md"></i>Per siti/app</div> </div> <h4 class="text-sm mb-1"><a href="/it/generatore-di-privacy-e-cookie-policy">Generatore di Privacy e Cookie Policy</a></h4> <div class="d-block d-lg-none"> <button role="link" class="btn btn-primary btn-sm text-white rarr js-redirect-button" data-url="/it/generatore-di-privacy-e-cookie-policy">Scopri di più</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Crea la tua privacy e cookie policy in pochi minuti.<br /><br /> Personalizzabile grazie a oltre 2000 clausole in fino a 27 lingue, aggiornate automaticamente se la legge cambia. Il nostro generatore ti permette di redigere un documento in pochi minuti e di integrarlo perfettamente sul tuo sito o la tua app.</p> <button role="link" class="btn btn-primary btn-sm text-white rarr js-redirect-button" data-url="/it/generatore-di-privacy-e-cookie-policy">Scopri di più</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/it/funzioni#privacy-and-cookie-policy" class="link-underline line-highlight">Funzionalità</a></li> <li class="list-inline-item"><a href="/it/help/467-generare-privacy-policy" class="link-underline line-highlight">Documentazione e guide</a></li> </ul> </div> </div> </div> </div> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Cookie Solution icon" data-lazy-src="/assets/site/products/cookie_solution-7c6de9a79e77ad5d6e4cc5bae39b4fc1ed83d7425fa260cb612ef4e86eec1493.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Cookie Solution icon" src="/assets/site/products/cookie_solution-7c6de9a79e77ad5d6e4cc5bae39b4fc1ed83d7425fa260cb612ef4e86eec1493.svg" /> </noscript> </div> <div > <div class="products_tags mb-3"> <div><i class="i-check mr-1 text-md"></i>Per siti/app</div> </div> <h4 class="text-sm mb-1"><a href="/it/cookie-solution">Privacy Controls and Cookie Solution</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/cookie-solution">Scopri di più</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Gestisci le preferenze di consenso come richiesto dalla Direttiva ePrivacy, dal GDPR, dal CPRA (modifica al CCPA) e dalla LGPD. Integrazione con il TCF di IAB e il CCPA Compliance Framework.<br /><br /> La nostra soluzione ti permette di mostrare un cookie banner/banner di consenso completamente personalizzabile, raccogliere il consenso ai cookie, implementare il blocco preventivo (incluso il blocco automatico), impostare le preferenze pubblicitarie e altro ancora.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/cookie-solution">Scopri di più</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/it/funzioni#cookie-solution" class="link-underline line-highlight">Funzionalità</a></li> <li class="list-inline-item mr-2"><a href="/it/help/680-introduzione-cookie-solution" class="link-underline line-highlight">Documentazione e guide</a></li> </ul> </div> </div> </div> </div> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Terms and Conditions icon" data-lazy-src="/assets/site/products/terms_and_conditions-b2ecac04071503f53269125183052405bee78d8199cd799047bf382eaf79e6c3.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Terms and Conditions icon" src="/assets/site/products/terms_and_conditions-b2ecac04071503f53269125183052405bee78d8199cd799047bf382eaf79e6c3.svg" /> </noscript> </div> <div > <div class="products_tags mb-3"> <div><i class="i-check mr-1 text-md"></i>Per siti/app</div> </div> <h4 class="text-sm mb-1"><a href="/it/generatore-termini-e-condizioni">Generatore di Termini e Condizioni</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/generatore-termini-e-condizioni">Scopri di più</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Crea i tuoi termini e condizioni in pochi minuti.<br/><br/> Personalizzabile grazie a oltre 100 clausole pre-configurate, disponibile in fino a 15 lingue, potente e accurata, la nostra soluzione è in grado di gestire anche gli scenari più complessi. Ideale per e-commerce, marketplace, SaaS, app e altro ancora.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/generatore-termini-e-condizioni">Scopri di più</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/it/funzioni#terms-and-conditions" class="link-underline line-highlight">Funzionalità</a></li> <li class="list-inline-item mr-2"><a href="/it/help/19394-generare-termini-e-condizioni" class="link-underline line-highlight">Documentazione e guide</a></li> </ul> </div> </div> </div> </div> </div> </div> <hr class="m-0"> <div class="p-4"> <div class="row line-between-columns"> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Whistleblowing Management Tool icon" data-lazy-src="/assets/site/products/whistleblowing_management_tool-ac418c64cbbf6682be183ece94551a4d57d581829315827ab215e2b4e3bd1ed6.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Whistleblowing Management Tool icon" src="/assets/site/products/whistleblowing_management_tool-ac418c64cbbf6682be183ece94551a4d57d581829315827ab215e2b4e3bd1ed6.svg" /> </noscript> </div> <div> <div class="products_tags mb-3"> <div><i class="i-check mr-1 text-md"></i>Per organizzazioni</div> </div> <h4 class="text-sm mb-1"><a href="/it/whistleblowing-management-tool">Whistleblowing Management Tool</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/whistleblowing-management-tool">Scopri di più</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Offri un canale di segnalazione interno facile da usare come richiesto dalla direttiva UE sulle segnalazioni per le organizzazioni con oltre 50 dipendenti. Genera istantaneamente i tuoi moduli per integrarli ovunque necessario. <br><br> Raccogli e gestisci le segnalazioni dei dipendenti e di altre persone legate alla tua organizzazione proteggendone l’identità e assicurando la riservatezza. Pensato per le aziende dell’UE e le organizzazioni globali attente alla trasparenza etica.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/whistleblowing-management-tool">Scopri di più</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/it/funzioni#whistleblower" class="link-underline line-highlight">Funzionalità</a></li> <li class="list-inline-item"><a href="https://www.iubenda.com/it/help/141346-direttiva-whistleblower-guida-prodotto-iubenda" class="link-underline line-highlight">Documentazione e guide</a></li> </ul> </div> </div> </div> </div> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Consent Solution icon" data-lazy-src="/assets/site/products/consent_solution-aa3b8ec9c422f9c7b1c30bf3ec445232ea3c36df666784b2add0329bf1dcc1bf.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Consent Solution icon" src="/assets/site/products/consent_solution-aa3b8ec9c422f9c7b1c30bf3ec445232ea3c36df666784b2add0329bf1dcc1bf.svg" /> </noscript> </div> <div> <div class="products_tags mb-3"> <div class="mb-1"><i class="i-check mr-1 text-md"></i>Per siti/app</div> <div><i class="i-check mr-1 text-md"></i>Per organizzazioni</div> </div> <h4 class="text-sm mb-1"><a href="/it/consent-solution">Consent Database</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/consent-solution">Scopri di più</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Adegua i tuoi form al GDPR, al CCPA e alla LGPD: raccogli una prova del consenso e documenta opt-in e <a href="/it/help/19153#diritto-di-opporsi" class="link-underline text-dark">opt-out</a>.<br /><br /> La nostra soluzione si integra perfettamente con i tuoi moduli di raccolta dati, si sincronizza con i tuoi documenti legali e include un'intuitiva dashboard che ti permette di recuperare i consensi in qualsiasi momento.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/consent-solution">Scopri di più</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/it/funzioni#consent-solution" class="link-underline line-highlight">Funzionalità</a></li> <li class="list-inline-item"><a href="/it/help/6525-introduzione-consent-solution" class="link-underline line-highlight">Documentazione e guide</a></li> </ul> </div> </div> </div> </div> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="IPM icon" data-lazy-src="/images/site/products/ipm.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="IPM icon" src="/images/site/products/ipm.svg" /> </noscript> </div> <div > <div class="products_tags mb-3"> <div class="mb-1"><i class="i-check mr-1 text-md"></i>Per siti/app</div> <div><i class="i-check mr-1 text-md"></i>Per organizzazioni</div> </div> <h4 class="text-sm mb-1"><a href="/it/internal-privacy-management">Registro delle attività di trattamento dei dati</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/internal-privacy-management">Scopri di più</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Documenta le attività di trattamento dati all'interno della tua organizzazione.<br /><br /> Per adeguarsi alle leggi sulla privacy, in particolare il GDPR, le aziende devono mantenere un registro delle modalità di archiviazione e utilizzo dei dati dei propri utenti. La nostra soluzione ti permette di documentare facilmente tutte le attività di trattamento all'interno della tua organizzazione.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/it/internal-privacy-management">Scopri di più</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/it/funzioni#internal-privacy-management" class="link-underline line-highlight">Funzionalità</a></li> <li class="list-inline-item"><a href="/it/help/6366-introduzione-internal-privacy-management" class="link-underline line-highlight">Documentazione e guide</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="p-2 bg-faded-5-gray text-dark" style="border-top: 1px solid rgba(0,0,0,0.1)"> <div class="d-block d-lg-flex align-items-center justify-content-between text-md"> <div class="col-lg"> Non sai esattamente di cosa hai bisogno? <a href="/it/help/5649" class="rarr link-underline line-highlight line-light-blue text-secondary"> Guida introduttiva </a> </div> <div class="col-lg text-right"> <a href="https://www.iubenda.com/blog/" class="btn btn-dark-gray text-dark d-block d-md-inline-block mb-2 mb-lg-0">Blog</a> <a href="mailto:info@iubenda.com" data-elevio-module="4" data-elevio-style="nothing" class="btn btn-dark-gray text-dark d-block d-md-inline-block">Contattaci</a> </div> </div> </div> </nav> </li> <li class="align-self-center has-nav"> <a class="pricing-link" href="/it/prezzi"><span class="lh-2 p-3">Prezzi</span></a> </li> <li class="align-self-center has-nav"> <span class="lh-2 p-3">Come utilizzare iubenda</span> <nav class="text-sm sm"> <div class="p-4 overflow-auto"> <div class="mb-4"> <h3 class="text-lg">Casi d'uso</h3> <p class="serif text-light">Alcuni dei modi in cui è possibile utilizzare iubenda</p> <ul class="list-unstyled mb-3 mt-3 text-nowrap"> <li> <a href="/it/conformita-privacy-stati-uniti" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per gli Stati Uniti </a> </li> <li> <a href="/it/gdpr" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per il GDPR </a> </li> <li> <a href="/it/LPD" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per la LPD </a> </li> <li> <a href="/it/lgpd" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per la LGPD </a> </li> <li> <a href="/it/mobile" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per le app mobile </a> </li> <li> <a href="/it/facebook" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per le app Facebook </a> </li> <li> <a href="/it/partner-program" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per le agenzie </a> </li> <li> <a href="/it/clienti-enterprise" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per i clienti Enterprise </a> </li> <li> <a href="https://www.iubenda.com/it/help/150021-unisciti-al-programma-di-affiliazione-di-iubenda" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per gli affiliati </a> </li> <li> <a href="https://www.iubenda.com/it/help/134594-aumenta-gli-introiti-pubblicitari" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per gli editori </a> </li> <li> <a href="/it/google-consent-mode-v2-cmp-certificata" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per Google Consent Mode v2 </a> </li> <li> <a href="https://www.iubenda.com/it/help/140496-recupera-i-rifiuti-ai-cookie-e-aumenta-i-tassi-di-consenso" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda per l'ottimizzazione del consenso </a> </li> </ul> </div> </div> </nav> </li> </ul> </div> <div class="col text-right"> <a href="/it/inizia-generazione?wizard=true" data-has-close-button="true" data-close-on-click="false" class="btn btn-primary text-white d-none d-lg-inline-block lightbox"> Inizia la generazione </a> <div id="hamburgerButton" class="hamburger d-inline-block d-lg-none"> <span></span> <span></span> <span></span> </div> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ $('#hamburgerButton').on('click', function () { $(this).toggleClass('active'); $('#mainMenu').toggleClass('show'); }); //]]> </script> </div> </div> </div> </div> </header> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ $(document).ready(function() { $('#headerContainer').find('[data-toggle="tooltip"]').tooltip() $('#team-select-mobile, #team-select-desktop').on('change', function() { var switchPath = $(this).val(); $.post(switchPath, {}, function(response) { window.location = response.redirect_url; }); }); $('.select-team').on('click', function(e) { // avoid triggering the toggle of the parent dropdown e.stopPropagation(); }); document.querySelectorAll('.js-redirect-button').forEach(function(button) { button.addEventListener('click', function() { window.location.href = button.getAttribute('data-url'); }); }); }); //]]> </script> <style type="text/css"> /* Prettify */ .com { color: #93a1a1; } .lit { color: #195f91; } .pun, .opn, .clo { color: #93a1a1; } .fun { color: #dc322f; } .str, .atv { color: #268bd2; } .kwd, .tag { color: #195f91; } .typ, .atn, .dec, .var { color: #CB4B16; } .pln { color: #93a1a1; } pre.prettyprint { background: #fefbf3; /* padding: 9px; border: 1px solid rgba(0,0,0,.2); -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.1); -moz-box-shadow: 0 1px 2px rgba(0,0,0,.1); box-shadow: 0 1px 2px rgba(0,0,0,.1); max-width: 630px; font-size: 12px; */ border:0; margin: 2rem auto; width: 90%; box-shadow: 0 16px 32px rgba(0,0,0,0.1); border-radius: 6px; padding: 1rem; background-color: rgba(255, 222, 171, 0.16); } .help_page .post_body pre.prettyprint ol li { font-size: 12px; } /* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin: 0 0 0 0; } /* IE indents via margin-left */ ol.linenums li { color: rgba(0,0,0,.15)} /* Alternate shading for lines */ .prettyprint li, .help_page .post_body .prettyprint li { padding-bottom: 0 } li.L1, li.L3, li.L5, li.L7, li.L9 { background: rgba(238, 238, 238, 0.26); } li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 { list-style-type: decimal !important } .gist { max-width: 650px; } </style> <section class="mt-5 mb-5 help-tpl__header"> <div class="container"> <section class="mb-5"> <h2 class="text-xl mb-3">Documentazione</h2> <nav class="breadcrumb d-none d-lg-block"> <a class="breadcrumb-item" href="/">Home</a> <span class="breadcrumb-item active">Documentazione</span> </nav> </section> <div class="mb-5"> <form class="clearfix"> <div class="float-right ml-3"> <button type="submit" class="btn btn-dark-gray px-3 ">Cerca</button> </div> <div class="oh"> <input type="text" class="w-100 st-default-search-input" placeholder="Cerca nella documentazione..."> </div> </form> </div> </div> </section> <section class="mt-5 mb-5 help-tpl__body"> <div class="container"> <div class="row gutter-lg"> <div class="col-lg-3 text-sm doc_aside help-tpl__side-menu" data-swiftype-index="false"> <div class="help_main_menu mb-4"> <div class="mb-3 d-block d-lg-none"> <button class="btn btn-sm btn-outline-light px-4 btn-aside">Hide index</button> </div> <nav> <ul> <li class="has_child category-title 6899"> Introduzione <ul> <li class="5649"> <a href="/it/help/5649-guida-per-iniziare">Guida per iniziare</a> </li> <li class="5424"> <a href="/it/help/5424-guida-gdpr">Guida completa al GDPR</a> </li> <li class="separator 17973"> </li> <li class="category-title 17974"> <strong>Compliance per:</strong> </li> <li class="17846"> <a href="/it/help/17846-adempimenti-obblighi-blog">Siti di piccole dimensioni e blog</a> </li> <li class="17848"> <a href="/it/help/17848-adempimenti-obblighi-ecommerce">E-commerce</a> </li> <li class="17851"> <a href="/it/help/17851-adempimenti-obblighi-app">Sviluppatori di app</a> </li> </ul> </li> <li class="has_child category-title 6909"> Requisiti di legge <ul> <li class="5736"> <a href="/it/help/5736-panoramica-sui-requisiti-di-legge">Panoramica sui requisiti di legge</a> </li> <li class="1843"> <a href="/it/help/1843-normativa-applicabile-e-lingua-dei-documenti">Normativa applicabile e lingua dei documenti</a> </li> <li class="8188"> <a href="/it/help/8188-privacy-policy-cosa-scrivere">Privacy policy: cos’è, cosa deve contenere e come ti tutela</a> </li> <li class="7848"> <a href="/it/help/7848-impressum">Impressum: cos&#39;è e quando è necessario</a> </li> <li class="has_child category-title 6910"> Normative principali <ul> <li class="category-title 6914"> <strong>GDPR</strong> </li> <li class="5424"> <a href="/it/help/5424-guida-gdpr">Guida completa al GDPR</a> </li> <li class="7668"> <a href="/it/help/7668-gdpr-e-requisiti-di-conformita-offline">GDPR e requisiti di conformità offline</a> </li> <li class="25234"> <a href="/it/help/25234-responsabilita-agenzia-gdpr">Le responsabilità dell’agenzia web secondo il GDPR</a> </li> <li class="5860"> <a href="/it/help/5860-opzioni-privacy-policy">Come scegliere le giuste opzioni per la tua privacy policy</a> </li> <li class="25419"> <a href="/it/help/25419-servizi-che-non-raccolgono-dati-personali-gdpr">Come trattare i servizi che non raccolgono dati personali secondo il GDPR</a> </li> <li class="7928"> <a href="/it/help/7928-diritto-oblio">Come dimostrare di aver onorato il diritto all’oblio</a> </li> <li class="3371"> <a href="/it/help/3371-privacy-shield-certificazione-integrazione">Guida al Privacy Shield: certificazione e integrazione con iubenda</a> </li> <li class="30087"> <a href="/it/help/30087-privacy-shield-invalidato">Privacy Shield invalidato – Tutto quello che devi sapere e cosa fare</a> </li> <li class="66155"> <a href="/it/help/66155-il-nuovo-trans-atlantic-data-privacy-framework-sostituira-il-privacy-shield-ue-us">Data Privacy Framework: l’UE dà il via libera ai trasferimenti di dati personali verso gli USA </a> </li> <li class="72886"> <a href="/it/help/72886-aggiornamenti-sulluk-gdpr-dopo-la-brexit">Aggiornamenti sull’UK GDPR dopo la Brexit</a> </li> <li class="74880"> <a href="/it/help/74880-data-reform-bill-e-il-regolamento-sullintelligenza-artificiale-del-regno-unito">Regno Unito: Data Reform Bill e il regolamento sull’intelligenza artificiale</a> </li> <li class="74884"> <a href="/it/help/74884-il-diritto-all-oblio-e-la-consent-solution-di-iubenda">Il diritto all’oblio e la Consent Solution di iubenda</a> </li> <li class="105786"> <a href="/it/help/105786-consenso-e-legittimo-interesse-qual-e-la-differenza">Consenso e legittimo interesse: qual è la differenza?</a> </li> <li class="separator 17464"> </li> <li class="category-title 6926"> <strong>Cookie Law / ePrivacy</strong> </li> <li class="5653"> <a href="/it/help/5653-cookie-gdpr-requisiti">Cookie e GDPR: cos’è davvero necessario?</a> </li> <li class="1764"> <a href="/it/help/1764-infografica-sugli-adempimenti-richiesti-dalla-cookie-law">Adempimenti richiesti dalla Cookie Law (infografica)</a> </li> <li class="7558"> <a href="/it/help/7558-gestione-consenso-cookie-faq">Come gestire il consenso ai cookie in modo conforme alle normative</a> </li> <li class="11417"> <a href="/it/help/11417-quali-dati-possono-essere-memorizzati-nei-cookie-senza-dover-chiedere-il-consenso">Quali dati possono essere memorizzati nei cookie senza dover chiedere il consenso?</a> </li> <li class="39285"> <a href="/it/help/39285-cookie-wall">Cookie wall: l’UE ne consente l’uso?</a> </li> <li class="64670"> <a href="/it/help/64670-cosa-sono-gli-strumenti-di-tracciamento">Cosa sono gli strumenti di tracciamento?</a> </li> <li class="6608"> <a href="/it/help/6608-fonti-giuridiche-cookie-terze-parti-requisiti-opt-out">È necessario specificare i nomi dei cookie di terze parti e i requisiti di opt-out? Cosa dice la legge</a> </li> <li class="31253"> <a href="/it/help/31253-cookie-italia-linee-guida-garante-privacy">Cookie in Italia: le nuove linee guida del Garante Privacy (e come adeguarsi)</a> </li> <li class="separator 19217"> </li> <li class="category-title 19218"> <strong>Leggi degli Stati Uniti</strong> </li> <li class="126080"> <a href="/it/help/126080-panoramica-sulle-leggi-sulla-privacy-previste-dagli-stati-degli-usa">Panoramica sulle leggi sulla privacy previste dagli Stati degli USA</a> </li> <li class="19153"> <a href="/it/help/19153-guida-ccpa">Guida completa al CCPA</a> </li> <li class="75012"> <a href="/it/help/75012-cpra-california-privacy-rights-act">CPRA: introduzione al CCPA 2.0</a> </li> <li class="separator 26944"> </li> <li class="category-title 26943"> <strong>LGPD</strong> </li> <li class="26708"> <a href="/it/help/26708-guida-lgpd">Guida completa alla LGPD</a> </li> <li class="111789"> <a href="/it/help/111789-tabella-riassuntiva-dei-requisiti-in-materia-di-cookie-previsti-dal-brasile">Tabella riassuntiva dei requisiti in materia di cookie previsti dal Brasile</a> </li> <li class="separator 146181"> </li> <li class="category-title 146180"> <strong>Whistleblowing</strong> </li> <li class="145422"> <a href="/it/help/145422-comprendere-le-basi-del-whistleblowing">Comprendere le basi del Whistleblowing</a> </li> <li class="145506"> <a href="/it/help/145506-le-leggi-sul-whistleblowing-una-panoramica-internazionale">Le leggi sul whistleblowing: una panoramica internazionale</a> </li> <li class="145457"> <a href="/it/help/145457-come-implementare-le-protezioni-whistleblower-nella-tua-organizzazione">Come implementare le protezioni Whistleblower nella tua organizzazione</a> </li> <li class="separator 78112"> </li> <li class="category-title 78107"> <strong>Altre legislazioni</strong> </li> <li class="107084"> <a href="/it/help/107084-il-virginia-consumer-data-protection-act-vcdpa">Il Virginia Consumer Data Protection Act (VCDPA)</a> </li> <li class="129345"> <a href="/it/help/129345-aggiornamenti-della-legge-federale-sulla-protezione-dei-dati-svizzera-lpd">Aggiornamenti alla LPD: cosa c’è da sapere</a> </li> </ul> </li> <li class="has_child category-title 6928"> Scenari comuni <ul> <li class="category-title 17453"> <strong>Blog</strong> </li> <li class="9113"> <a href="/it/help/9113-blog-gdpr-come-adeguarsi">Blog e GDPR: come adeguare il tuo sito</a> </li> <li class="11263"> <a href="/it/help/11263-wordpress-gdpr">Come adeguare un sito WordPress al GDPR</a> </li> <li class="104921"> <a href="/it/help/104921-come-far-fronte-ai-reclami-una-guida-in-5-passi">Come far fronte ai reclami | Una guida in 5 passi</a> </li> <li class="separator 26085"> </li> <li class="category-title 26084"> <strong>E-commerce</strong> </li> <li class="26079"> <a href="/it/help/26079-termini-condizioni-ecommerce">Termini e Condizioni per il tuo e-commerce: cosa fare per proteggere la tua attività</a> </li> <li class="separator 17465"> </li> <li class="category-title 6959"> <strong>Email e newsletter</strong> </li> <li class="5747"> <a href="/it/help/5747-gdpr-email-marketing-newsletter">GDPR e email marketing: come adeguare newsletter e form di iscrizione</a> </li> <li class="4317"> <a href="/it/help/4317-invio-di-newsletter-e-email-marketing-diretto-dem">ePrivacy e Email Marketing Diretto (DEM)</a> </li> <li class="15287"> <a href="/it/help/15287-mailchimp-gdpr-privacy-policy-form-iscrizione-raccolta-consenso">Mailchimp e GDPR: privacy policy, form di iscrizione e raccolta del consenso</a> </li> <li class="40148"> <a href="/it/help/40148-global-email-marketing-cheatsheet">Email Marketing Internazionale – Tabella Riassuntiva</a> </li> <li class="separator 17466"> </li> <li class="category-title 6954"> <strong>App</strong> </li> <li class="2097"> <a href="/it/help/2097-privacy-policy-per-app-ios-e-macos">Privacy policy per app iOS e macOS</a> </li> <li class="11583"> <a href="/it/help/11583-privacy-policy-per-app-android">Privacy policy per app Android</a> </li> <li class="39343"> <a href="/it/help/39343-privacy-policy-per-app-windows">Privacy policy per app Windows</a> </li> <li class="1346"> <a href="/it/help/1346-cookie-app-mobile">Cookie e app mobile</a> </li> <li class="separator 24792"> </li> <li class="category-title 24791"> <strong>Pagine e app Facebook</strong> </li> <li class="24752"> <a href="/it/help/24752-privacy-policy-facebook-page">Privacy policy per le pagine Facebook</a> </li> <li class="13827"> <a href="/it/help/13827-privacy-policy-per-app-facebook">Privacy policy per app Facebook</a> </li> <li class="separator 17467"> </li> <li class="category-title 17452"> <strong>Minori</strong> </li> <li class="11439"> <a href="/it/help/11439-minori-e-gdpr">Minori e GDPR</a> </li> <li class="5768"> <a href="/it/help/5768-requisiti-legge-siti-app-bambini">Requisiti di legge per siti e app utilizzati dai bambini</a> </li> <li class="separator 17468"> </li> <li class="category-title 17454"> <strong>Siti web e app in più lingue</strong> </li> <li class="2155"> <a href="/it/help/2155-privacy-policy-piu-lingue">Quando hai bisogno di una privacy policy in più lingue</a> </li> <li class="separator 17470"> </li> <li class="category-title 14007"> <strong>Pubblicità e programmi di affiliazione</strong> </li> <li class="12205"> <a href="/it/help/12205-privacy-policy-per-google-adsense">Privacy policy per Google AdSense</a> </li> <li class="13726"> <a href="/it/help/13726-privacy-policy-per-il-remarketing-con-google-ads">Privacy policy per il remarketing con Google Ads</a> </li> <li class="17619"> <a href="/it/help/16051">Come raccogliere il consenso per la personalizzazione dei Google Ads</a> </li> <li class="12222"> <a href="/it/help/12222-privacy-policy-inserzioni-acquisizione-contatti-facebook">Privacy policy per le inserzioni per acquisizione contatti di Facebook</a> </li> <li class="14009"> <a href="/it/help/14009-programma-affiliazione-amazon">Programma di affiliazione di Amazon</a> </li> <li class="separator 17469"> </li> <li class="category-title 6962"> <strong>Analytics e altri servizi Google</strong> </li> <li class="72271"> <a href="/it/help/72271-google-analytics-illegale-in-europa-e-regno-unito">Google Analytics è illegale in Europa e Regno Unito?</a> </li> <li class="12333"> <a href="/it/help/12333-privacy-policy-per-google-analytics">Privacy policy per Google Analytics</a> </li> <li class="943"> <a href="/it/help/943-come-anonimizzare-gli-ip-ed-evitare-la-condivisione-dei-dati-in-google-analytics">Come anonimizzare gli IP ed evitare la condivisione dei dati in Google Analytics</a> </li> <li class="7879"> <a href="/it/help/7879-google-analytics-gdpr-controllo-comportamento">Google Analytics e GDPR: è considerato un controllo del comportamento?</a> </li> <li class="12726"> <a href="/it/help/12726-privacy-policy-google-analytics-funzioni-pubblicitarie">Privacy policy per le funzioni pubblicitarie di Google Analytics</a> </li> <li class="18895"> <a href="/it/help/18895-privacy-policy-google-oauth">Privacy Policy per Google OAuth</a> </li> <li class="14947"> <a href="/it/help/14947-personalizzare-il-luogo-del-trattamento-dati-per-i-servizi-google">Personalizzare il luogo del trattamento dati per i servizi Google</a> </li> <li class="74083"> <a href="/it/help/74083-richieste-eliminazione-dei-dati-google-analytics">Richieste di eliminazione dei dati da Google Analytics 3: cosa fare</a> </li> <li class="separator 146186"> </li> <li class="category-title 146185"> <strong>Posto di lavoro</strong> </li> <li class="145471"> <a href="/it/help/145471-come-la-tecnologia-aiuta-le-aziende-a-costruire-sistemi-di-segnalazione-efficaci">Come la tecnologia aiuta le aziende a costruire sistemi di segnalazione efficaci</a> </li> <li class="145342"> <a href="/it/help/145342-il-processo-di-segnalazione-dei-whistleblower-dalla-a-alla-z">Il processo di segnalazione dei whistleblower dalla A alla Z</a> </li> <li class="145428"> <a href="/it/help/145428-whistleblowing-come-le-organizzazioni-dovrebbero-gestire-i-report">Whistleblowing: Come le organizzazioni dovrebbero gestire i report</a> </li> <li class="145382"> <a href="/it/help/145382-whistleblowing-101-guida-alla-formazione-in-materia-di-whistleblowing-sul-posto-di-lavoro">Guida alla formazione in materia di whistleblowing sul posto di lavoro</a> </li> <li class="145328"> <a href="/it/help/145328-etica-sul-posto-di-lavoro-creare-una-cultura-favorevole-al-whistleblowing">Etica sul posto di lavoro: creare una cultura favorevole al whistleblowing</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 6969"> Generatore di Privacy e Cookie Policy <ul> <li class="has_child category-title 6970"> Crea la tua policy <ul> <li class="category-title 17519"> <strong>Generazione</strong> </li> <li class="467"> <a href="/it/help/467-generare-privacy-policy">Come generare una privacy policy</a> </li> <li class="8544"> <a href="/it/help/8544-generare-cookie-policy">Come generare una cookie policy</a> </li> <li class="25460"> <a href="/it/help/25460-durata-cookie">Come mostrare la durata dei cookie nella tua Cookie Policy</a> </li> <li class="5855"> <a href="/it/help/5855-protezioni-gdpr-utenti">Come applicare le protezioni previste dal GDPR</a> </li> <li class="21490"> <a href="/it/help/21490-privacy-policy-clausole-ccpa">Come applicare le protezioni previste dal CCPA</a> </li> <li class="separator 17528"> </li> <li class="category-title 17520"> <strong>Servizi</strong> </li> <li class="4"> <a href="/it/help/4-servizi-privacy-policy">Come aggiungere servizi a una privacy policy</a> </li> <li class="19014"> <a href="/it/help/19014-site-scanner">Come usare il site scanner per rilevare i servizi mancanti</a> </li> <li class="998"> <a href="/it/help/998-come-aggiungere-un-servizio-personalizzato">Come aggiungere un servizio personalizzato</a> </li> <li class="separator 17529"> </li> <li class="category-title 17521"> <strong>Titolare del trattamento</strong> </li> <li class="4786"> <a href="/it/help/4786-cosa-si-intende-per-estremi-identificativi-del-titolare-del-trattamento">Cosa si intende per estremi identificativi del Titolare del Trattamento</a> </li> <li class="3509"> <a href="/it/help/3509-campo-titolare-sito-web-nel-generatore">Il campo “Titolare del sito web” nel generatore</a> </li> <li class="separator 17530"> </li> <li class="category-title 17522"> <strong>Lingue</strong> </li> <li class="117"> <a href="/it/help/117-add-language">Come aggiungere un’altra lingua ai tuoi documenti</a> </li> </ul> </li> <li class="has_child category-title 17501"> Modifica la tua policy <ul> <li class="58"> <a href="/it/help/58-modificare-privacy-policy">Come modificare una privacy policy</a> </li> <li class="71"> <a href="/it/help/71-come-eliminare-una-privacy-policy">Come eliminare una privacy policy</a> </li> <li class="69541"> <a href="/it/help/69541-come-duplicare-un-sito-esistente">Come duplicare un sito esistente</a> </li> <li class="separator 17531"> </li> <li class="category-title 17524"> <strong>Logo e riferimenti a iubenda</strong> </li> <li class="62"> <a href="/it/help/62-rimuovere-logo-iubenda">Rimuovere il logo iubenda dal pulsante e dalla privacy policy</a> </li> <li class="2838"> <a href="/it/help/2838-rimuovere-dicitura-iubenda">Posso rimuovere la dicitura &quot;iubenda ospita questa pagina&quot;?</a> </li> <li class="separator 6978"> </li> <li class="category-title 17523"> <strong>Opzioni avanzate</strong> </li> <li class="4167"> <a href="/it/help/4167-forzare-aggiornamento">Forzare l’aggiornamento della data dell’ultima modifica</a> </li> <li class="4939"> <a href="/it/help/4939-modificare-questa-applicazione">Personalizzare il modo in cui il tuo sito/app è indicato nei documenti</a> </li> <li class="11140"> <a href="/it/help/11140-personalizzare-i-link-interni-della-privacy-e-cookie-policy">Personalizzare i link interni della Privacy e Cookie Policy</a> </li> </ul> </li> <li class="has_child category-title 6981"> Integra la tua policy <ul> <li class="category-title 17525"> <strong>Generale</strong> </li> <li class="2181"> <a href="/it/help/2181-come-integrare-la-privacy-policy-di-iubenda-sul-tuo-sito-app">Come integrare la privacy policy di iubenda sul tuo sito/app</a> </li> <li class="1084"> <a href="/it/help/1084-integrazione-privacy-policy-codice-inserimento">Codice d&#39;inserimento</a> </li> <li class="1087"> <a href="/it/help/1087-integrazione-privacy-policy-link-diretto">Link diretto</a> </li> <li class="22020"> <a href="/it/help/22020-opzioni-di-integrazione-con-javascript-disabilitato">Opzioni di integrazione con JavaScript disabilitato</a> </li> <li class="separator 17532"> </li> <li class="category-title 17526"> <strong>App</strong> </li> <li class="17840"> <a href="/it/help/2097">iOS e macOS</a> </li> <li class="2219"> <a href="/it/help/2219-privacy-policy-per-app-tvos-apple-tv">tvOS (Apple TV)</a> </li> <li class="17839"> <a href="/it/help/11583">Android</a> </li> <li class="3742"> <a href="/it/help/3742-come-aggiungere-i-permessi-per-laccesso-ai-dati-personali-su-dispositivi-android-e-ios">Come aggiungere i permessi per l’accesso ai dati personali su dispositivi Android e iOS</a> </li> <li class="2216"> <a href="/it/help/2216-documenti-legali-offline">Come rendere i documenti legali di iubenda disponibili ad essere visualizzati offline</a> </li> <li class="separator 6986"> </li> <li class="category-title 17527"> <strong>Piattaforme più diffuse</strong> </li> <li class="9149"> <a href="/it/help/9149-come-aggiungere-una-privacy-policy-a-unapp-dellamazon-appstore">Amazon Appstore</a> </li> <li class="64342"> <a href="/it/help/64342-come-aggiungere-una-privacy-policy-a-bigcommerce">BigCommerce</a> </li> <li class="2221"> <a href="/it/help/2221-come-integrare-la-privacy-e-cookie-policy-di-iubenda-con-epages">ePages</a> </li> <li class="64344"> <a href="/it/help/64344-come-aggiungere-una-privacy-policy-a-ghost">Ghost</a> </li> <li class="64340"> <a href="/it/help/64340-come-aggiungere-una-privacy-policy-a-hubspot">HubSpot</a> </li> <li class="1946"> <a href="/it/help/1946-come-integrare-la-privacy-e-cookie-policy-di-iubenda-con-jimdo">Jimdo</a> </li> <li class="2204"> <a href="/it/help/2204-come-integrare-la-privacy-e-cookie-policy-di-iubenda-con-joomla">Joomla!</a> </li> <li class="2210"> <a href="/it/help/2210-come-integrare-la-privacy-e-cookie-policy-di-iubenda-con-magento">Magento</a> </li> <li class="79163"> <a href="/it/help/79163-come-aggiungere-matomo-alla-privacy-e-cookie-policy-di-iubenda">Matomo (ex Piwik)</a> </li> <li class="11831"> <a href="/it/help/11831-come-integrare-la-privacy-e-cookie-policy-di-iubenda-con-prestashop">PrestaShop</a> </li> <li class="1783"> <a href="/it/help/1783-shopify-privacy-policy">Shopify</a> </li> <li class="13425"> <a href="/it/help/13425-privacy-cookie-policy-squarespace">Squarespace</a> </li> <li class="26354"> <a href="/it/help/26354-privacy-policy-ucraft">Ucraft</a> </li> <li class="18608"> <a href="/it/help/18608-privacy-cookie-policy-webflow">Webflow</a> </li> <li class="64346"> <a href="/it/help/64346-come-aggiungere-una-privacy-policy-a-weebly">Weebly</a> </li> <li class="2129"> <a href="/it/help/2129-come-integrare-la-privacy-e-cookie-policy-di-iubenda-con-wordpress">WordPress</a> </li> <li class="8459"> <a href="/it/help/8459-come-integrare-la-privacy-e-cookie-policy-di-iubenda-con-wordpress-com">WordPress.com</a> </li> <li class="separator 19589"> </li> <li class="category-title 19590"> <strong>Avanzate</strong> </li> <li class="12347"> <a href="/it/help/12347-come-configurare-il-content-security-policy-per-consentire-lesecuzione-degli-script-di-iubenda">Come configurare il Content Security Policy per consentire l’esecuzione degli script di iubenda</a> </li> </ul> </li> <li class="has_child category-title 6995"> Risoluzione dei problemi e FAQs <ul> <li class="2087"> <a href="/it/help/2087-come-utilizzare-la-dashboard-iubenda">Come utilizzare la dashboard iubenda</a> </li> <li class="1707"> <a href="/it/help/1707-devo-ripetere-la-procedura-di-aggiunta-servizi-per-ogni-lingua-in-cui-genero-la-policy">Devo ripetere la procedura di aggiunta servizi per ogni lingua in cui genero la policy?</a> </li> <li class="3918"> <a href="/it/help/3918-perche-la-mia-privacy-policy-contiene-la-dicitura-questa-applicazione-non-supporta-le-richieste-do-not-track">Perché la mia privacy policy contiene la dicitura “Questa Applicazione non supporta le richieste Do Not Track”?</a> </li> <li class="2782"> <a href="/it/help/2782-qual-e-la-differenza-tra-il-generatore-di-privacy-e-cookie-policy-e-la-cookie-solution">Qual è la differenza tra il Generatore di Privacy e Cookie Policy e Privacy Controls and Cookie Solution?</a> </li> <li class="2750"> <a href="/it/help/2750-che-differenza-ce-tra-lintegrazione-della-privacy-policy-e-quella-della-cookie-solution">Che differenza c’è tra l’integrazione della privacy policy e quella di Privacy Controls and Cookie Solution?</a> </li> <li class="1003"> <a href="/it/help/1003-in-quali-paesi-sono-valide-le-privacy-policy-di-iubenda">In quali paesi sono valide le privacy policy di iubenda?</a> </li> <li class="2115"> <a href="/it/help/2115-copiare-e-incollare-testo-documenti">Posso copiare e incollare il testo dei documenti sul mio sito/app?</a> </li> <li class="15554"> <a href="/it/help/15554-come-caricare-il-pulsante-di-iubenda-in-modo-asincrono">Come caricare il pulsante di iubenda in modo asincrono</a> </li> <li class="separator 30081"> </li> <li class="category-title 30082"> <strong>Changelog</strong> </li> <li class="30072"> <a href="/it/help/30072-pcp-changelog-legale">Changelog legale</a> </li> </ul> </li> </ul> </li> <li class="active has_child category-title 7063"> Privacy Controls and Cookie Solution <ul> <li class="has_child category-title 17487"> Introduzione <ul> <li class="680"> <a href="/it/help/680-introduzione-cookie-solution">Introduzione alla Privacy Controls and Cookie Solution di iubenda</a> </li> <li class="290"> <a href="/it/help/290-quali-cookie-usi">Come scoprire quali cookie usa il tuo sito</a> </li> </ul> </li> <li class="has_child category-title 17485"> Configurazione del cookie banner <ul> <li class="1696"> <a href="/it/help/1696-personalizzare-cookie-banner">Come configurare Privacy Controls and Cookie Solution (guida di base)</a> </li> <li class="8544"> <a href="/it/help/8544-generare-cookie-policy">Come generare una cookie policy per il cookie banner</a> </li> <li class="623"> <a href="/it/help/623-come-configurare-la-cookie-solution-guida-avanzata">Come configurare Privacy Controls and Cookie Solution (guida avanzata)</a> </li> <li class="separator 17616"> </li> <li class="category-title 17617"> <strong>Preferenze pubblicitarie</strong> </li> <li class="7449"> <a href="/it/help/7449-the-complete-guide-to-iubenda-cmp-and-iab-tcf-2-2">Guida al Transparency and Consent Framework di IAB</a> </li> <li class="16051"> <a href="/it/help/16051-google-tcf-consenso-annunci-personalizzati">Google e TCF 2.0: come raccogliere il consenso per gli annunci personalizzati</a> </li> <li class="23273"> <a href="/it/help/23273-transparency-and-consent-framework-v2">Guida alla transizione alla versione 2.0 del Transparency and Consent Framework di IAB</a> </li> <li class="separator 17495"> </li> <li class="category-title 17489"> <strong>Lingue</strong> </li> <li class="793"> <a href="/it/help/793-cookie-policy-e-cookie-solution-per-siti-in-piu-lingue">Cookie policy e Privacy Controls and Cookie Solution per siti in più lingue</a> </li> <li class="834"> <a href="/it/help/834-how-to-use-the-cookie-solution-in-a-multilingual-wordpress-site">Come utilizzare Privacy Controls and Cookie Solution in un sito WordPress multilingue</a> </li> </ul> </li> <li class="has_child category-title 122110"> Per gli Stati Uniti <ul> <li class="122092"> <a href="/it/help/122092-come-adeguarsi-alle-leggi-sulla-privacy-degli-stati-degli-usa-con-iubenda">Come adeguarsi alle leggi sulla privacy degli Stati degli USA con iubenda</a> </li> </ul> </li> <li class="has_child category-title 7064"> Integrazione e blocco preventivo <ul> <li class="36281"> <a href="/it/help/36281-cookie-solution-sito-ad-hoc">Sito ad hoc</a> </li> <li class="separator 36294"> </li> <li class="category-title 36295"> <strong>Plugin e integrazioni</strong> </li> <li class="66605"> <a href="/it/help/66605-come-aggiungere-la-cookie-solution-a-bigcommerce">BigCommerce</a> </li> <li class="168586"> <a href="/it/help/168586-iubenda-all-in-one-plugin-duda-installation">Duda (plugin)</a> </li> <li class="66603"> <a href="/it/help/66603-come-aggiungere-la-cookie-solution-a-ghost">Ghost</a> </li> <li class="161252"> <a href="/it/help/161252-hubspot-cookie-banner-how-to-add-a-cookie-banner-on-hubspot-with-iubenda">HubSpot</a> </li> <li class="10779"> <a href="/it/help/10779-cookie-solution-guida-integrazione-jimdo">Jimdo</a> </li> <li class="1329"> <a href="/it/help/1329-cookie-solution-guida-installazione-plugin-joomla">Joomla! (estensione)</a> </li> <li class="9698"> <a href="/it/help/9698-cookie-solution-guida-installazione-modulo-magento">Magento (modulo)</a> </li> <li class="4353"> <a href="/it/help/4353-cookie-solution-guida-installazione-plugin-prestashop">PrestaShop (plugin)</a> </li> <li class="13031"> <a href="/it/help/13031-cookie-solution-guida-integrazione-squarespace">Squarespace</a> </li> <li class="26361"> <a href="/it/help/26361-cookie-solution-ucraft">Ucraft</a> </li> <li class="18610"> <a href="/it/help/18610-cookie-solution-webflow">Webflow</a> </li> <li class="66607"> <a href="/it/help/66607-come-aggiungere-la-cookie-solution-a-weebly">Weebly</a> </li> <li class="24970"> <a href="/it/help/24970-cookie-banner-wix">Wix</a> </li> <li class="810"> <a href="/it/help/810-all-in-one-plugin-wordpress-guida">WordPress (plugin)</a> </li> <li class="separator 7069"> </li> <li class="category-title 7070"> <strong>Implementazione del blocco preventivo</strong> </li> <li class="1627"> <a href="/it/help/1627-blocco-preventivo-cookie">Introduzione al blocco preventivo dei cookie</a> </li> <li class="674"> <a href="/it/help/674-tagging-manuale-blocco-cookie">Tagging manuale (con esempi pratici)</a> </li> <li class="133849"> <a href="/it/help/133849-blocco-preventivo-dei-cookie-blocco-automatico">Blocco preventivo dei cookie: blocco automatico</a> </li> <li class="629"> <a href="/it/help/629-google-tag-manager-blocking-cookies">Google Tag Manager</a> </li> <li class="75631"> <a href="/it/help/75631-google-consent-mode-set-up-google-tag-manager-with-iubenda">Google Consent Mode: come configurare Google Tag Manager con iubenda</a> </li> <li class="27154"> <a href="/it/help/27154-google-consent-mode">Google Consent Mode</a> </li> <li class="868"> <a href="/it/help/868-google-adsense-ad-manager-blocco-cookie">Google Adsense e Ad Manager</a> </li> <li class="1045"> <a href="/it/help/1045-classe-php-blocco-cookie">Classe PHP</a> </li> <li class="22140"> <a href="/it/help/22140-cookie-solution-amp-wordpress">Come integrare Privacy Controls and Cookie Solution con Google AMP (WordPress incluso)</a> </li> <li class="separator 19648"> </li> <li class="category-title 17484"> <strong>Avanzate</strong> </li> <li class="18688"> <a href="/it/help/18688-migrazione-consensi-cookie-solution">Come migrare i consensi dal precedente provider a Privacy Controls and Cookie Solution</a> </li> <li class="2607"> <a href="/it/help/2607-cache-ed-ottimizzazione-del-caricamento-della-iubenda-cookie-solution">Cache, performance e altre ottimizzazioni di Privacy Controls and Cookie Solution di iubenda</a> </li> <li class="23640"> <a href="/it/help/23640-come-chiamare-le-api-della-cookie-solution-da-un-iframe">Come chiamare le API di Privacy Controls and Cookie Solution da un iframe</a> </li> <li class="12505"> <a href="https://www.iubenda.com/it/help/12347">Come configurare il Content Security Policy per consentire l&#39;esecuzione degli script di iubenda</a> </li> <li class="separator 17496"> </li> <li class="category-title 17498"> <strong>Statistiche</strong> </li> <li class="2380"> <a href="/it/help/2380-statistiche-cookie-solution">Introduzione alle statistiche</a> </li> </ul> </li> <li class="active has_child category-title 146398"> Per Mobile <ul> <li class="active 144358"> <a href="/it/help/144358-cs-for-mobile-developers-guide">Cookie Solution per dispositivi mobili | Guida per sviluppatori</a> </li> </ul> </li> <li class="has_child category-title 7075"> Risoluzione dei problemi e FAQs <ul> <li class="3007"> <a href="/it/help/3007-come-vengono-calcolate-le-pageview-della-cookie-solution">Come vengono calcolate le pageview di Privacy Controls and Cookie Solution?</a> </li> <li class="1698"> <a href="/it/help/1698-dove-trovo-i-miei-cookie-policy-id-e-site-id">Dove trovo i miei cookie policy ID e site ID?</a> </li> <li class="2633"> <a href="/it/help/2633-posso-integrare-la-cookie-policy-nel-mio-sito-app-tramite-inclusione-diretta-del-testo-e-api">Posso integrare la cookie policy nel mio sito/app tramite inclusione diretta del testo e API?</a> </li> <li class="10657"> <a href="/it/help/10657-consenso-cookie-amp">Consenso ai cookie e pagine AMP, come fare?</a> </li> <li class="107179"> <a href="/it/help/107179-come-risolvere-i-problemi-della-cookie-solution-con-i-plugin-di-cache-e-le-funzioni-di-ottimizzazione">Come risolvere i problemi di Privacy Controls and Cookie Solution con i plugin di cache e le funzioni di ottimizzazione</a> </li> <li class="153416"> <a href="/it/help/153416-perche-hai-meno-dati-dopo-linstallazione-di-google-consent-mode-v2">Perché hai meno dati dopo l’installazione di Google Consent Mode v2?</a> </li> <li class="separator 17497"> </li> <li class="category-title 17499"> <strong>Canali e changelog</strong> </li> <li class="1981"> <a href="/it/help/1981-canali-rilascio-cookie-solution">Canali di rilascio</a> </li> <li class="627"> <a href="/it/help/627-cookie-solution-changelog">Changelog</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 17475"> Generatore di Termini e Condizioni <ul> <li class="1757"> <a href="/it/help/1757-termini-e-condizioni-a-cosa-servono">Cosa sono e a cosa servono i termini e condizioni</a> </li> <li class="19486"> <a href="/it/help/19486-cosa-dovrebbero-includere-i-termini-e-condizioni">Cosa dovrebbero includere</a> </li> <li class="20847"> <a href="/it/help/20847-modello-termini-e-condizioni">Posso usare un modello?</a> </li> <li class="has_child category-title 19523"> Crea il tuo documento <ul> <li class="19394"> <a href="/it/help/19394-generare-termini-e-condizioni">Come generare un documento di Termini e Condizioni</a> </li> <li class="19531"> <a href="/it/help/3509">Il campo &quot;Titolare del sito web&quot; nel generatore</a> </li> <li class="19532"> <a href="/it/help/117">Come aggiungere una o più lingue</a> </li> </ul> </li> <li class="has_child category-title 19525"> Modifica il tuo documento <ul> <li class="19363"> <a href="/it/help/19363-modificare-termini-e-condizioni">Modificare un documento di termini e condizioni</a> </li> <li class="19348"> <a href="/it/help/19348-eliminare-termini-e-condizioni">Eliminare un documento di termini e condizioni</a> </li> <li class="separator 19542"> </li> <li class="category-title 19541"> <strong>Opzioni avanzate</strong> </li> <li class="19536"> <a href="/it/help/4167">Forzare l&#39;aggiornamento della data dell&#39;ultima modifica</a> </li> <li class="19537"> <a href="/it/help/4939">Personalizzare il modo in cui il tuo sito/app è indicato nei documenti</a> </li> </ul> </li> <li class="has_child category-title 19527"> Integra il tuo documento <ul> <li class="19263"> <a href="/it/help/19263-integrare-termini-e-condizioni-di-iubenda-sul-tuo-sito-app">Come integrare i termini e condizioni di iubenda sul tuo sito/app</a> </li> <li class="19538"> <a href="/it/help/2216">Come rendere i documenti legali di iubenda disponibili ad essere visualizzati offline</a> </li> <li class="separator 57658"> </li> <li class="category-title 57656"> <strong>Piattaforme più diffuse</strong> </li> <li class="55612"> <a href="/it/help/55612-come-aggiungere-termini-e-condizioni-ad-amazon">Amazon</a> </li> <li class="55594"> <a href="/it/help/55594-come-aggiungere-termini-e-condizioni-a-bigcommerce">BigCommerce</a> </li> <li class="55606"> <a href="/it/help/55606-come-aggiungere-termini-e-condizioni-a-ghost">Ghost</a> </li> <li class="55604"> <a href="/it/help/55604-come-aggiungere-termini-e-condizioni-a-hubspot">HubSpot</a> </li> <li class="55610"> <a href="/it/help/55610-come-aggiungere-termini-e-condizioni-a-jimdo">Jimdo</a> </li> <li class="55596"> <a href="/it/help/55596-come-aggiungere-i-termini-e-condizioni-a-joomla">Joomla!</a> </li> <li class="55608"> <a href="/it/help/55608-come-aggiungere-termini-e-condizioni-a-magento">Magento</a> </li> <li class="55598"> <a href="/it/help/55598-come-aggiungere-termini-e-condizioni-a-prestashop">PrestaShop</a> </li> <li class="55614"> <a href="/it/help/55614-come-aggiungere-termini-e-condizioni-a-shopify">Shopify</a> </li> <li class="55592"> <a href="/it/help/55592-come-aggiungere-i-termini-e-condizioni-a-squarespace">Squarespace</a> </li> <li class="55600"> <a href="/it/help/55600-come-aggiungere-termini-e-condizioni-a-ucraft">Ucraft</a> </li> <li class="55590"> <a href="/it/help/55590-come-aggiungere-termini-e-condizioni-a-webflow">Webflow</a> </li> <li class="55602"> <a href="/it/help/55602-come-aggiungere-termini-e-condizioni-a-weebly">Weebly</a> </li> <li class="55588"> <a href="/it/help/55588-come-aggiungere-i-termini-e-condizioni-a-wix">Wix</a> </li> <li class="55582"> <a href="/it/help/55582-come-aggiungere-i-termini-e-condizioni-a-un-negozio-woocommerce">WooCommerce</a> </li> <li class="55586"> <a href="/it/help/55586-come-aggiungere-termini-e-condizioni-a-wordpress">WordPress</a> </li> <li class="55584"> <a href="/it/help/55584-come-aggiungere-termini-e-condizioni-a-wordpress-com">WordPress.com</a> </li> <li class="separator 19585"> </li> <li class="category-title 19586"> <strong>Avanzate</strong> </li> <li class="19540"> <a href="/it/help/12347">Come configurare il Content Security Policy per consentire l&#39;esecuzione degli script di iubenda</a> </li> </ul> </li> <li class="has_child category-title 19529"> Risoluzione dei problemi e FAQs <ul> <li class="19539"> <a href="/it/help/2115">Posso copiare e incollare il testo dei documenti sul mio sito/app?</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 7116"> Consent Database <ul> <li class="has_child category-title 17476"> Introduzione <ul> <li class="6525"> <a href="/it/help/6525-introduzione-consent-solution">Introduzione e funzionamento</a> </li> <li class="7383"> <a href="/it/help/7383-come-sincronizzare-con-la-consent-solution-i-documenti-legali-creati-con-iubenda">Come sincronizzare i documenti legali creati con iubenda</a> </li> <li class="166339"> <a href="/it/help/166339-iubenda-webhooks">Come mantenere i dati sul consenso aggiornati su tutte le piattaforme grazie al 2-Way Sync di iubenda</a> </li> </ul> </li> <li class="has_child category-title 17477"> Implementazione <ul> <li class="6530"> <a href="/it/help/6530-consent-solution-documentazione-js">JavaScript</a> </li> <li class="6532"> <a href="/it/help/6532-consent-solution-documentazione-api-http">API HTTP</a> </li> <li class="136053"> <a href="/it/help/136053-guida-allintegrazione-del-consent-database-per-tutte-le-principali-piattaforme">Guida all’integrazione semplice</a> </li> <li class="separator 18932"> </li> <li class="category-title 18929"> <strong>Piattaforme più diffuse</strong> </li> <li class="67562"> <a href="/it/help/67562-consent-solution-per-hubspot">HubSpot</a> </li> <li class="18773"> <a href="/it/help/18773-consent-solution-joomla-chronoforms">Joomla!</a> </li> <li class="71563"> <a href="/it/help/71563-integrazione-della-consent-solution-per-make-integromat">Make (Integromat)</a> </li> <li class="75053"> <a href="/it/help/75053-consent-solution-per-prestashop">PrestaShop</a> </li> <li class="67560"> <a href="/it/help/67560-come-aggiungere-la-consent-solution-a-shopify">Shopify</a> </li> <li class="71567"> <a href="/it/help/71567-consent-solution-per-squarespace">Squarespace</a> </li> <li class="67558"> <a href="/it/help/67558-consent-solution-per-webflow">Webflow</a> </li> <li class="67552"> <a href="/it/help/67552-consent-solution-per-wix">Wix</a> </li> <li class="71565"> <a href="/it/help/71565-integrazione-della-consent-solution-per-zapier">Zapier</a> </li> <li class="separator 70701"> </li> <li class="category-title 70702"> <strong>WordPress</strong> </li> <li class="21336"> <a href="/it/help/21336-consent-solution-plugin-wordpress">WordPress (plugin)</a> </li> <li class="13287"> <a href="/it/help/13287-consent-solution-wordpress-contact-form-7">WordPress (metodo JavaScript)</a> </li> <li class="67554"> <a href="/it/help/67554-consent-solution-per-elementor">Elementor (site builder per WordPress)</a> </li> <li class="67556"> <a href="/it/help/67556-consent-solution-per-gravity-forms">Gravity Forms (plugin per WordPress)</a> </li> <li class="separator 19588"> </li> <li class="category-title 19587"> <strong>Avanzate</strong> </li> <li class="12504"> <a href="https://www.iubenda.com/it/help/12347">Come configurare il Content Security Policy per consentire l&#39;esecuzione degli script di iubenda</a> </li> </ul> </li> <li class="has_child category-title 18265"> Risoluzione dei problemi e FAQs <ul> <li class="18222"> <a href="/it/help/18222-canali-rilascio-consent-solution">Canali di rilascio</a> </li> <li class="18232"> <a href="/it/help/18232-consent-solution-changelog">Changelog</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 141585"> Whistleblowing Management Tool <ul> <li class="141346"> <a href="/it/help/141346-direttiva-whistleblower-guida-prodotto-iubenda">La guida di iubenda alla Direttiva Whistleblower e al tool dedicato</a> </li> </ul> </li> <li class="has_child category-title 7114"> Registro delle attività di trattamento dei dati <ul> <li class="6366"> <a href="/it/help/6366-introduzione-internal-privacy-management">Guida per l’utilizzo del Registro delle attività di trattamento dei dati</a> </li> </ul> </li> <li class="has_child category-title 7120"> Risorse <ul> <li class="23188"> <a href="/it/help/23188-webinar-iubenda">Webinar</a> </li> <li class="has_child category-title 25925"> Video <ul> <li class="5827"> <a href="/it/help/5827-video">Tutte le guide video</a> </li> <li class="separator 18408"> </li> <li class="category-title 18403"> <strong>Generatore di Privacy e Cookie Policy</strong> </li> <li class="34842"> <a href="/it/help/34842-panoramica-sul-generatore-di-privacy-e-cookie-policy-video">Panoramica</a> </li> <li class="18370"> <a href="/it/help/18370-intro-generatore-privacy-cookie-policy-video">Introduzione al generatore</a> </li> <li class="separator 34821"> </li> <li class="category-title 34823"> <strong>Privacy Controls and Cookie Solution</strong> </li> <li class="34739"> <a href="/it/help/34739-introduzione-alla-cookie-solution-video">Introduzione a Privacy Controls and Cookie Solution</a> </li> <li class="separator 34820"> </li> <li class="category-title 34822"> <strong>Generatore di Termini e Condizioni</strong> </li> <li class="34733"> <a href="/it/help/34733-panoramica-sul-generatore-di-termini-e-condizioni-video">Panoramica</a> </li> <li class="separator 18407"> </li> <li class="category-title 18404"> <strong>Consent Database</strong> </li> <li class="7355"> <a href="/it/help/7355-introduzione-consent-solution-video">Introduzione alla Consent Database</a> </li> <li class="34725"> <a href="/it/help/34725-configurazione-manuale-della-consent-solution-javascript-video">Configurazione manuale del Consent Database (JavaScript)</a> </li> <li class="18348"> <a href="/it/help/18348-consent-solution-dashboard-video">Consent Database dashboard in azione</a> </li> <li class="separator 18406"> </li> <li class="category-title 18405"> <strong>Registro delle attività di trattamento dei dati</strong> </li> <li class="6683"> <a href="/it/help/6683-introduzione-internal-privacy-management-video">Introduzione al Registro delle attività di trattamento dei dati</a> </li> </ul> </li> <li class="has_child category-title 7737"> Template GDPR <ul> <li class="7727"> <a href="/it/help/7727-nomina-di-un-rappresentante-nellue-template-gdpr">Nomina di un rappresentante nell&#39;UE</a> </li> <li class="7720"> <a href="/it/help/7720-contratto-di-nomina-a-responsabile-del-trattamento-dpa-template-gdpr">Contratto di nomina a responsabile del trattamento (DPA)</a> </li> <li class="7722"> <a href="/it/help/7722-obbligo-di-non-divulgazione-e-riservatezza-dei-dipendenti-template-gdpr">Obbligo di non divulgazione e riservatezza dei dipendenti</a> </li> <li class="7931"> <a href="/it/help/7931-valutazione-dimpatto-sulla-protezione-dei-dati-dpia-template-gdpr">Valutazione d&#39;impatto sulla protezione dei dati (DPIA)</a> </li> </ul> </li> <li class="has_child category-title 28426"> Altre risorse <ul> <li class="28395"> <a href="/it/help/28395-gdpr-cookie-consent-cheatsheet">GDPR e consenso ai cookie – Tabella riassuntiva</a> </li> <li class="70476"> <a href="/it/help/70476-normative-sulla-privacy-negli-stati-uniti-tabella-comparativa">Normative sulla privacy negli Stati Uniti – Tabella comparativa</a> </li> <li class="40148"> <a href="/it/help/40148-global-email-marketing-cheatsheet">Email Marketing Internazionale – Tabella Riassuntiva</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 7158"> Account e fatturazione <ul> <li class="7636"> <a href="/it/help/7636-faqs-sui-prezzi">FAQs sui prezzi</a> </li> <li class="3990"> <a href="/it/help/3990-eliminare-account">Come eliminare il tuo account</a> </li> <li class="has_child category-title 7159"> Piani e licenze <ul> <li class="604"> <a href="/it/help/604-limitazioni-licenza-base">Limitazioni del Piano Free</a> </li> <li class="63066"> <a href="/it/help/63066-come-rinnovare-il-tuo-piano-iubenda">Come rinnovare il tuo piano iubenda</a> </li> <li class="63224"> <a href="/it/help/63224-dove-trovo-i-miei-piani-scaduti">Dove trovo i miei piani scaduti?</a> </li> <li class="1020"> <a href="/it/help/1020-posso-continuare-a-utilizzare-il-testo-della-privacy-policy-anche-senza-rinnovare-il-servizio">Posso continuare a utilizzare il testo della privacy policy anche senza rinnovare il servizio?</a> </li> <li class="1030"> <a href="/it/help/1030-e-possibile-utilizzare-una-stessa-privacy-policy-su-piu-siti-web-o-app">È possibile utilizzare una stessa privacy policy su più siti web o app?</a> </li> </ul> </li> <li class="has_child category-title 7162"> Pagamenti <ul> <li class="2011"> <a href="/it/help/2011-come-disabilitare-il-rinnovo-automatico-delle-licenze-iubenda">Come disabilitare il rinnovo automatico del tuo piano iubenda</a> </li> <li class="2174"> <a href="/it/help/2174-perche-il-mio-pagamento-tramite-paypal-non-va-a-buon-fine">Perché il mio pagamento non va a buon fine?</a> </li> <li class="63125"> <a href="/it/help/63125-come-aggiungere-modificare-il-tuo-attuale-metodo-di-pagamento">Come aggiungere/modificare il tuo attuale metodo di pagamento</a> </li> <li class="63166"> <a href="/it/help/63166-posso-pagare-con-un-bonifico-bancario">Posso pagare con un bonifico bancario?</a> </li> <li class="1717"> <a href="/it/help/1717-iubenda-abbonamento">Perché il servizio di iubenda è in abbonamento</a> </li> </ul> </li> <li class="has_child category-title 7171"> Fatturazione <ul> <li class="2795"> <a href="/it/help/2795-dove-trovo-le-mie-fatture">Dove trovo le mie fatture?</a> </li> <li class="96"> <a href="/it/help/96-modificare-dati-fatturazione">Come modificare i dati di fatturazione</a> </li> <li class="11203"> <a href="/it/help/11203-fatture-email">Come ricevere le fatture su un altro indirizzo email</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 17378"> Partner e affiliati <ul> <li class="2063"> <a href="/it/help/2063-programma-affiliazione">Come creare un programma di affiliazione/referral con iubenda</a> </li> <li class="30378"> <a href="/it/help/30378-come-rivendere-le-soluzioni-iubenda-ai-tuoi-clienti">Come rivendere le soluzioni iubenda ai tuoi clienti</a> </li> <li class="22207"> <a href="https://www.iubenda.com/it/partner-program">Serve aiuto nella configurazione? Visita la nostra directory di Partner Certificati</a> </li> </ul> </li> <li class="has_child category-title 17447"> iubenda <ul> <li class="6762"> <a href="/it/help/6762-contratto-per-il-trattamento-dei-dati-personali-tra-iubenda-e-gli-utenti">Contratto per il trattamento dei dati personali tra iubenda e gli utenti</a> </li> <li class="1933"> <a href="/it/help/1933-cosa-viene-tracciato-e-cosa-non-viene-tracciato-da-iubenda">Cosa viene tracciato e cosa non viene tracciato da iubenda</a> </li> <li class="5735"> <a href="/it/help/5735-5-motivi-per-cui-ospitiamo-i-documenti">5 motivi per cui ospitiamo i tuoi documenti</a> </li> </ul> </li> </ul> </nav> </div> <div class="toc-wrap sticky-top"> <nav id="toc" data-toggle="toc"></nav> <div class="mb-4 text-sm text-uppercase font-weight-bold text-muted toc-label">Indice dei contenuti</div> </div> </div> <!-- /.doc_aside --> <div class="col-lg-9 help-tpl__main"> <div class="mb-4 d-block d-lg-none"> <button class="btn btn-sm btn-outline-light px-4 btn-aside help-tpl__show-index-btn">Show index</button> </div> <h1 class="help-tpl__main-title mb-5 display-4 font-weight-semibold"data-swiftype-name="title" data-swiftype-type="string">Cookie Solution per dispositivi mobili | Guida per sviluppatori</h1> <div class="entry_content entry_body_content doc_body" data-swiftype-name="body" data-swiftype-type="text" data-toc-scope > <div data-toc-activator=""> </div> <div class="wp-block-image"> <figure class="aligncenter is-resized"><img decoding="async" src="https://help.iubenda.com/wp-content/uploads/2019/09/cs-sdk-mobile-newsletter.gif" alt="" style="width:259px;height:506px"/></figure></div> <!--div class="text-center my-4 py-4"> <h2 data-toc-skip="">SDK Downloads</h2> <a class="btn btn-primary text-white sans-serif mx-2 my-3" href="https://iubenda.link/ios">iOS</a> or <a class="btn btn-primary text-white sans-serif mx-2 my-3" href="https://iubenda.link/android">Android</a> </div--> <h2 class="wp-block-heading" id="ios">iOS</h2> <h3 class="wp-block-heading mt-4">Aggiungere l’SDK di iubenda al progetto</h3> <p>Per aggiungere l’SDK di iubenda al tuo progetto, puoi usare CocoaPods con la seguente configurazione:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>platform :ios, '10.0' source "https://github.com/iubenda/cocoapods.git" target 'MyApp' do use_frameworks! pod 'IubendaMobileSDK', '2.6.4' end</code></pre> <p>Per aggiornare automaticamente la versione della libreria con l’aggiornamento del pod, puoi impostare la dipendenza come segue:</p> <ul class="wp-block-list"> <li><code>'IubendaMobileSDK', '~> 2.6.4'</code> per gli aggiornamenti banali</li> <li><code>'IubendaMobileSDK', '~> 2.6'</code> per gli aggiornamenti minori</li> <li><code>'IubendaMobileSDK'</code> per tutti gli aggiornamenti</li> </ul> <p>Per utilizzare la libreria nel codice:</p> <ul class="wp-block-list"> <li>Aggiungi <code>import iubenda</code> nei file sorgente per utilizzare la libreria in <strong>Swift</strong></li> <li>Aggiungi <code>#import <iubenda/iubenda-Swift.h></code> nei file sorgente per utilizzare la libreria in <strong>Objective-C</strong></li> </ul> <h3 class="wp-block-heading">Inizializzare l’SDK</h3> <p>Nella classe AppDelegate, all’interno del metodo <code>didFinishLaunchingWithOptions</code>, crea un oggetto di configurazione con le tue impostazioni e chiama <code>IubendaCMP.initialize()</code></p> <pre class="wp-block-code prettyprint linenums js-code"><code>let config = IubendaCMPConfiguration() config.gdprEnabled = true config.googleAds = true config.siteId = "12341234" config.cookiePolicyId = "56785678" config.applyStyles = true config.cssFile = Bundle.main.path(forResource: "custom_style", ofType: "css") config.jsonFile = Bundle.main.path(forResource: "config", ofType: "json") IubendaCMP.initialize(with: config)</code></pre> <h3 class="wp-block-heading">Impostazioni</h3> <table class="table table-bordered my-4"> <thead> <tr> <th>Impostazione</th> <th>Valore predefinito</th> <th>Descrizione</th> </tr> </thead> <tbody> <tr> <td>csVersion</td> <td>current</td> <td>Consente di definire quale versione di Privacy Controls and Cookie Solution utilizzare. I valori accettati sono “current”, “beta”, “stable” o un numero di versione specifico</td> </tr> <tr> <td>gdprEnabled</td> <td>false</td> <td>Proxy per l’impostazione IABConsent_SubjectToGDPR di TCF di IAB. Se false, Mediation SDK può eseguire la mediazione in tutti gli SDK della rete di annunci. In caso contrario, Mediation SDK eseguirà la mediazione solo tra gli SDK della rete di annunci conformi al GDPR</td> </tr> <tr> <td>siteId</td> <td> </td> <td>ID del sito del cliente su iubenda</td> </tr> <tr> <td>cookiePolicyId</td> <td> </td> <td>ID della Cookie policy del cliente su iubenda</td> </tr> <tr> <td>googleAds</td> <td>false</td> <td>Se true, abilita la gestione del consenso per gli annunci personalizzati di Google</td> </tr> <tr> <td>jsonFile</td> <td> </td> <td>Percorso del file JSON per trasmettere la configurazione personalizzata all’interfaccia utente di consenso</td> </tr> <tr> <td>jsonContent</td> <td> </td> <td>Come sopra, ma impostato come stringa</td> </tr> <tr> <td>forceConsent</td> <td>true</td> <td>Se true, la schermata del consenso sarà visibile fino a quando l’utente non accetta, in modo da aumentare al massimo i consensi. Se false, askConsent() non avrà alcun effetto se l’utente ignora la richiesta di consenso dopo il primo lancio</td> </tr> <tr> <td>cssFile</td> <td> </td> <td>Percorso del file CSS per applicare lo stile personalizzato all’interfaccia utente di consenso in aggiunta al file di stile standard (applyStyles=true) o da solo (applyStyles=false)</td> </tr> <tr> <td>cssContent</td> <td> </td> <td>Come sopra, ma impostato come stringa</td> </tr> <tr> <td>cssUrl</td> <td> </td> <td>Come sopra, ma impostato come stringa URL</td> </tr> <tr> <td>applyStyles</td> <td>true</td> <td>Se true, all’interfaccia utente di consenso viene applicato lo stile CSS standard</td> </tr> <tr> <td>acceptIfDismissed</td> <td>false</td> <td>Se true e il file JS è pronto, quando l’utente ignora il popup, l’informativa viene accettata</td> </tr> <tr> <td>preventDismissWhenLoaded</td> <td>false</td> <td>Se true, una volta che il popup è caricato, non è possibile ignorarlo senza esprimere una preferenza</td> </tr> <tr> <td>skipNoticeWhenOffline</td> <td>true</td> <td>Se abilitato, askConsent() non mostrerà il popup in assenza di connessione Internet</td> </tr> <tr> <td>dismissColor</td> <td> </td> <td>Consente di impostare un colore personalizzato per il pulsante di chiusura (×). Se non è impostato, verrà applicato il valore textColor del file JSON. Se anche textColor non è impostato, verrà utilizzato il colore predefinito</td> </tr> <tr> <td>bannerPosition</td> <td>center</td> <td>Consente di impostare la posizione del popup per il banner di consenso in alto (“top”), in basso (“bottom”) o al centro (“center”)</td> </tr> <td>automaticHandlingOfAtt</td> <td>false</td> <td> Se impostato su <code>true</code>, questa funzione SDK gestisce il flusso di lavoro ATT in iOS come segue: <br>1. L’invocazione della funzione <code>askConsent()</code> attiva prima l’avviso per le autorizzazioni di sistema ATT. <br>2. Se l’utente autorizza il tracciamento (lo stato è <code>.authorized</code> in base alla <a href="https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/authorizationstatus">documentazione ATT di Apple</a>), viene visualizzato il popup per il consenso. <br>3. Se l’utente nega il tracciamento, il popup per il consenso non verrà visualizzato. <br><strong>Nota importante</strong>: per abilitare questa funzione è necessario aggiungere la chiave <code>NSUserTrackingUsageDescription</code> al file <code>info.plist</code>. Per maggiori dettagli, consulta la <a href="https://developer.apple.com/documentation/bundleresources/information_property_list/nsusertrackingusagedescription">documentazione di Apple su NSUserTrackingUsageDescription</a>. </td> </tr> </tbody> </table> <h4 class="wp-block-heading" id="ios-example-custom-css">Esempio di configurazione con CSS personalizzato</h4> <pre class="wp-block-code prettyprint linenums js-code"><code>let config = IubendaCMPConfiguration() config.gdprEnabled = true config.forceConsent = true config.googleAds = true config.siteId = "12341234" config.cookiePolicyId = "56785678" config.acceptIfDismissed = true config.applyStyles = false config.cssFile = Bundle.main.path(forResource: "custom_style", ofType: "css") config.jsonFile = Bundle.main.path(forResource: "config", ofType: "json") IubendaCMP.initialize(with: config)</code></pre> <p>custom_style.css:</p> <pre class="wp-block-code prettyprint linenums js-code pre-scrollable"><code>/*************************************************************************** // * iubenda Privacy Controls and Cookie Solution * // * * // * Sample CSS v2.2.6 * // * * // * (c) 2019 iubenda srl &lt;info@iubenda.com&gt; * // * All Rights Reserved. * // * * // ************************************************************************* // // CHANGELOG // // 2.2.7 - 2020-06-18 // - Fix container breaking on mobile. // // 2.2.6 - 2020-05-27 // - Hide scroll bar visibility. // - Fix brand image height on mobile. // // 2.2.5 - 2020-05-06 // - Fix IE flex content. // - Fix text overflow. // // 2.2.3 - 2020-04-21 // - Cursor pointer // - Button text ellipsis // - Equalize shadows top/bottom modal bar // // 2.2.2 - 2020-04-06 // - Add pointer events auto to the overlay // // 2.2.1 - 2020-03-06 // - Introduce popover. // // 2.2.0 - 2019-11-07 // - Introduce brand customizations // // 2.1.5 - 2019-11-22 // - Add class to go fullscreen. // // 2.1.4 - 2020-03-25 // - Make the banner shadow darker // // 2.1.3 - 2020-01-22 // - Fix banner not appearing on iPhone. // // 2.1.2 - 2019-11-07 // - Fix buttons height on IE. // // 2.1.1 - 2019-10-30 // - Fix buttons margin and customize-advertising-tracking button width on mobile. // // 2.1.0 - 2019-10-24 // - Introduce text overflowing mask and style for reject button. // // 2.0.4 - 2019-06-24 // - Convert close button width to min-width // // 2.0.3 - 2019-05-24 // - Introduce new positioning options // // 2.0.2 - 2019-05-02 // - Fix text spaces when custom content // // 2.0.1 - 2019-04-09 // - Add rules for buttons group // // 2.0.0 - 2019-02-01 // - Full rewrite to accommodate the new markup // // 0.0.1 - 2015-04-01 // - First implementation of the sample CSS */ /* ----------------- IMPORTANT: Changing the following values may prevent the notice from being displayed properly. ----------------- */ #iubenda-cs-banner { font-size: 15px !important; background: none !important; line-height: 1.4 !important; position: fixed !important; z-index: 99999998 !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; border: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; will-change: opacity, visibility; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; -webkit-transition: opacity 0.4s ease, visibility 0.4s ease !important; -o-transition: opacity 0.4s ease, visibility 0.4s ease !important; transition: opacity 0.4s ease, visibility 0.4s ease !important; /* default */ } #iubenda-cs-banner &#91;class*=" iub"], #iubenda-cs-banner &#91;class^=iub], #iubenda-cs-banner .iubenda-banner-content:not(.iubenda-custom-content) * { font-size: 100% !important; width: auto !important; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; background: none !important; -webkit-box-sizing: border-box !important; box-sizing: border-box !important; -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important; -webkit-backface-visibility: hidden !important; backface-visibility: hidden !important; font-family: -apple-system, sans-serif !important; text-decoration: none !important; color: currentColor !important; background-attachment: scroll !important; background-color: transparent !important; background-image: none !important; background-position: 0 0 !important; background-repeat: repeat !important; border: 0 !important; border-color: #000 !important; border-color: currentColor !important; border-radius: 0 !important; border-style: none !important; border-width: medium !important; bottom: auto !important; clear: none !important; clip: auto !important; counter-increment: none !important; counter-reset: none !important; direction: inherit !important; float: none !important; font-style: inherit !important; font-variant: normal !important; font-weight: inherit !important; height: auto !important; left: auto !important; letter-spacing: normal !important; line-height: inherit !important; list-style-type: inherit !important; list-style-position: outside !important; list-style-image: none !important; margin: 0 !important; max-height: none !important; max-width: none !important; min-height: 0 !important; min-width: 0 !important; opacity: 1; outline: 0 !important; overflow: visible !important; padding: 0 !important; position: static !important; quotes: "" "" !important; right: auto !important; table-layout: auto !important; text-align: left !important; text-indent: 0 !important; text-transform: none !important; top: auto !important; unicode-bidi: normal !important; vertical-align: baseline !important; visibility: inherit !important; white-space: normal !important; width: auto !important; word-spacing: normal !important; z-index: auto !important; background-origin: padding-box !important; background-origin: padding-box !important; background-clip: border-box !important; background-size: auto !important; -o-border-image: none !important; border-image: none !important; border-radius: 0 !important; border-radius: 0 !important; -webkit-box-shadow: none !important; box-shadow: none !important; -webkit-column-count: auto !important; -moz-column-count: auto !important; column-count: auto !important; -webkit-column-gap: normal !important; -moz-column-gap: normal !important; column-gap: normal !important; -webkit-column-rule: medium none #000 !important; -moz-column-rule: medium none #000 !important; column-rule: medium none #000 !important; -webkit-column-span: none !important; -moz-column-span: none !important; column-span: none !important; -webkit-column-width: auto !important; -moz-column-width: auto !important; column-width: auto !important; -webkit-font-feature-settings: normal !important; font-feature-settings: normal !important; overflow-x: visible !important; overflow-y: visible !important; -webkit-hyphens: manual !important; -ms-hyphens: manual !important; hyphens: manual !important; -webkit-perspective: none !important; perspective: none !important; -webkit-perspective-origin: 50% 50% !important; perspective-origin: 50% 50% !important; text-shadow: none !important; -webkit-transition: all 0s ease 0s !important; -o-transition: all 0s ease 0s !important; transition: all 0s ease 0s !important; -webkit-transform: none !important; -ms-transform: none !important; transform: none !important; -webkit-transform-origin: 50% 50% !important; -ms-transform-origin: 50% 50% !important; transform-origin: 50% 50% !important; -webkit-transform-style: flat !important; transform-style: flat !important; word-break: normal !important; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } #iubenda-cs-banner .iub-popover-trigger { display: inline-block !important; text-decoration: underline !important; -webkit-text-decoration-style: dashed !important; text-decoration-style: dashed !important; position: relative !important; margin-right: 16px !important; cursor: pointer !important; line-height: 1.25 !important; } #iubenda-cs-banner .iub-popover-trigger:before, #iubenda-cs-banner .iub-popover-trigger:after { content: ""; display: inline-block; width: 14px; height: 14px; border-radius: 12px; vertical-align: middle; background-size: 4px; position: absolute; left: calc(100% + 2px); top: 3px; } #iubenda-cs-banner .iub-popover-trigger:before { background-color: currentColor; opacity: 0.35; } #iubenda-cs-banner .iub-popover-trigger:after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='13' viewBox='0 0 7 13'%3E%3Cg fill='%23FFF' fill-rule='evenodd'%3E%3Cpath d='M2.779 1.288a1.287 1.287 0 112.574 0 1.287 1.287 0 01-2.574 0zM5.467 10.422l.903 1.851-.7.341a2.496 2.496 0 01-3.545-2.717l.818-3.252a.42.42 0 00-.178-.382.422.422 0 00-.452-.041l-.844.412-.902-1.852.843-.412a2.491 2.491 0 012.576.233 2.49 2.49 0 01.989 2.389 1.105 1.105 0 01-.02.095l-.817 3.253a.42.42 0 00.178.382c.08.059.244.142.451.041l.7-.341z'/%3E%3C/g%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; } #iubenda-cs-banner .iub-popover { position: absolute !important; top: 24px !important; bottom: 0 !important; left: 0 !important; right: 0 !important; border-radius: 4px !important; background-color: white !important; color: #222 !important; z-index: 2 !important; -webkit-box-shadow: 0 0 32px rgba(0, 0, 0, 0.1) !important; box-shadow: 0 0 32px rgba(0, 0, 0, 0.1) !important; opacity: 0 !important; visibility: hidden !important; -webkit-transform: translateY(24px) !important; -ms-transform: translateY(24px) !important; transform: translateY(24px) !important; -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease !important; transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease !important; -o-transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important; transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important; transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; z-index: 99 !important; pointer-events: none !important; overflow: hidden !important; } #iubenda-cs-banner .iub-popover-header { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; z-index: 1 !important; -webkit-box-shadow: 0 16px 16px #FFF !important; box-shadow: 0 16px 16px #FFF !important; } #iubenda-cs-banner .iub-popover-header &gt; * { padding: 24px !important; padding-bottom: 0 !important; } #iubenda-cs-banner .iub-popover-header-title { font-size: 18px !important; font-weight: bold !important; } #iubenda-cs-banner .iub-popover-header-close { font-size: 24px !important; font-weight: 300 !important; cursor: pointer !important; line-height: 1 !important; position: relative !important; top: -2px !important; } #iubenda-cs-banner .iub-popover-content { font-size: 14px !important; -webkit-box-flex: 1 !important; -ms-flex: 1 !important; flex: 1 !important; font-weight: 300 !important; line-height: 1.5 !important; position: relative !important; } #iubenda-cs-banner .iub-popover-content &gt; div { padding: 0 24px !important; overflow-y: auto !important; height: 100% !important; } #iubenda-cs-banner .iub-popover-content &gt; div:before, #iubenda-cs-banner .iub-popover-content &gt; div:after { content: ""; display: block; height: 24px; } #iubenda-cs-banner .iub-popover-content h3 { margin-bottom: 16px !important; font-weight: bold !important; } #iubenda-cs-banner .iub-popover-content p:not(:last-of-type) { margin-bottom: 16px !important; } #iubenda-cs-banner .iub-popover-content a { text-decoration: underline !important; cursor: pointer !important; opacity: 0.8 !important; } #iubenda-cs-banner .iub-popover-content b, #iubenda-cs-banner .iub-popover-content strong { font-weight: bold !important; } #iubenda-cs-banner .iub-popover-content i, #iubenda-cs-banner .iub-popover-content em { font-style: italic !important; } #iubenda-cs-banner .iub-popover-content:after { position: absolute; content: ""; display: block; height: 24px; pointer-events: none; left: 0; right: 0; bottom: 0; background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white)); background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 100%); background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 100%); } #iubenda-cs-banner.iubenda-cs-default-floating .iub-popover { left: 8px !important; right: 8px !important; } @media (min-width: 640px) { #iubenda-cs-banner.iubenda-cs-default .iub-popover { max-width: 992px !important; margin: 0 auto !important; } #iubenda-cs-banner.iubenda-cs-default.iubenda-cs-top .iub-popover { top: 16px !important; bottom: -16px !important; } #iubenda-cs-banner.iubenda-cs-default.iubenda-cs-bottom .iub-popover { top: -16px !important; bottom: 16px !important; } } #iubenda-cs-banner.iub-popover-visible .iub-popover { opacity: 1 !important; visibility: visible !important; -webkit-transform: translateY(0) !important; -ms-transform: translateY(0) !important; transform: translateY(0) !important; pointer-events: auto !important; } #iubenda-cs-banner.iubenda-cs-overlay:before { content: "" !important; position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-color: rgba(0, 0, 0, 0.5) !important; z-index: 1 !important; pointer-events: auto !important; } #iubenda-cs-banner.iubenda-cs-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; } #iubenda-cs-banner.iubenda-cs-top { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; } #iubenda-cs-banner.iubenda-cs-bottom { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; } #iubenda-cs-banner.iubenda-cs-left { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } #iubenda-cs-banner.iubenda-cs-right { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } #iubenda-cs-banner.iubenda-cs-visible { opacity: 1 !important; visibility: visible !important; } #iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container { pointer-events: auto !important; } #iubenda-cs-banner.iubenda-cs-slidein .iubenda-cs-container { -webkit-transition: -webkit-transform 0.4s ease !important; transition: -webkit-transform 0.4s ease !important; -o-transition: transform 0.4s ease !important; transition: transform 0.4s ease !important; transition: transform 0.4s ease, -webkit-transform 0.4s ease !important; } #iubenda-cs-banner.iubenda-cs-slidein.iubenda-cs-top .iubenda-cs-container { -webkit-transform: translateY(-48px) !important; -ms-transform: translateY(-48px) !important; transform: translateY(-48px) !important; } #iubenda-cs-banner.iubenda-cs-slidein.iubenda-cs-bottom .iubenda-cs-container { -webkit-transform: translateY(48px) !important; -ms-transform: translateY(48px) !important; transform: translateY(48px) !important; } #iubenda-cs-banner.iubenda-cs-slidein.iubenda-cs-visible .iubenda-cs-container { -webkit-transform: translateY(0) !important; -ms-transform: translateY(0) !important; transform: translateY(0) !important; } #iubenda-cs-banner .iubenda-cs-container { position: relative !important; z-index: 2 !important; } #iubenda-cs-banner .iubenda-cs-brand { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; padding: 16px !important; -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } #iubenda-cs-banner .iubenda-cs-brand &gt; div { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } #iubenda-cs-banner .iubenda-cs-brand img { max-width: 192px !important; max-height: 56px !important; } #iubenda-cs-banner .iubenda-cs-content { position: relative !important; z-index: 1 !important; overflow: hidden !important; -webkit-transition: -webkit-transform 0.4s ease !important; transition: -webkit-transform 0.4s ease !important; -o-transition: transform 0.4s ease !important; transition: transform 0.4s ease !important; transition: transform 0.4s ease, -webkit-transform 0.4s ease !important; } #iubenda-cs-banner .iubenda-cs-rationale { position: relative !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } #iubenda-cs-banner .iubenda-cs-close-btn { position: absolute !important; top: -2px !important; padding: 16px !important; right: 0 !important; min-width: 48px !important; height: 48px !important; font-size: 24px !important; line-height: 0 !important; font-weight: lighter !important; cursor: pointer !important; text-align: center !important; } #iubenda-cs-banner .iubenda-cs-close-btn:hover { opacity: 0.5 !important; } #iubenda-cs-banner .iubenda-banner-content { font-weight: 300 !important; margin: 16px !important; margin-bottom: 0 !important; -webkit-box-flex: 1 !important; -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; overflow-y: auto !important; mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, black 16px) !important; -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, black 16px) !important; padding-bottom: 32px !important; } #iubenda-cs-banner .iubenda-banner-content-padded { padding-right: 32px !important; } #iubenda-cs-banner .iubenda-banner-content a { cursor: pointer !important; color: currentColor !important; opacity: 0.7 !important; text-decoration: underline !important; } #iubenda-cs-banner .iubenda-banner-content a:hover { opacity: 1 !important; } #iubenda-cs-banner #iubenda-cs-title { font-weight: bold !important; margin-bottom: 16px !important; } #iubenda-cs-banner .iubenda-cs-opt-group { margin: 16px !important; z-index: 1 !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; margin-top: 0 !important; -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } #iubenda-cs-banner .iubenda-cs-opt-group &gt; div { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } @media (min-width: 640px) { #iubenda-cs-banner .iubenda-cs-opt-group { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } #iubenda-cs-banner .iubenda-cs-opt-group-custom { margin-right: auto !important; -ms-flex-item-align: start !important; align-self: start !important; -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } #iubenda-cs-banner .iubenda-cs-opt-group-consent { margin-left: auto !important; -ms-flex-item-align: end !important; align-self: end !important; -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } } @media (max-width: 639px) { #iubenda-cs-banner .iubenda-cs-opt-group { margin: 12px !important; -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } #iubenda-cs-banner .iubenda-cs-opt-group-custom { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } #iubenda-cs-banner .iubenda-cs-opt-group-consent { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } #iubenda-cs-banner .iubenda-cs-opt-group button { -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; padding: 8px 32px !important; border-radius: 64px !important; cursor: pointer !important; font-weight: bold !important; font-size: 100% !important; margin-top: 4px !important; margin-bottom: 4px !important; text-align: center !important; } #iubenda-cs-banner .iubenda-cs-opt-group button:focus { opacity: 0.8 !important; } #iubenda-cs-banner .iubenda-cs-opt-group button:hover { opacity: 0.5 !important; } @media (min-width: 640px) { #iubenda-cs-banner .iubenda-cs-opt-group button:not(:last-of-type) { margin-right: 8px !important; } } @media (max-width: 639px) { #iubenda-cs-banner .iubenda-cs-opt-group button { padding: 8px 24px !important; width: 100% !important; display: block; text-align: center !important; margin: 6px 3px !important; } } #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand { margin: 0 -8px 0 !important; } @media (max-width: 991px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand { margin: -8px -8px 0 !important; } } @media (min-width: 992px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand div { margin: 0 auto !important; width: calc(992px - 32px) !important; } } @media (max-width: 991px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand div { margin: 0 8px !important; } } #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-container { width: 100% !important; } @media (min-width: 992px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-rationale { width: 992px !important; margin: 16px auto !important; } } @media (max-width: 991px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-content { padding: 8px !important; } } #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-brand { margin: -8px -8px 0 !important; } #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-brand div { margin: 8px !important; } @media (min-width: 992px) { #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-container { width: 992px !important; } } @media (max-width: 991px) { #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center.iubenda-cs-top .iubenda-cs-container, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center.iubenda-cs-bottom .iubenda-cs-container { width: 100% !important; } } @media (min-width: 640px) { #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-container, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-container, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-container { width: 480px !important; } } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group &gt; div, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group &gt; div, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group &gt; div { width: 100% !important; } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group button, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group button, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group button { display: block !important; width: 100% !important; text-align: center !important; } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group-custom, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group-custom, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group-custom { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group-consent, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group-consent, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group-consent { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-content { -webkit-box-shadow: 0 8px 48px rgba(0, 0, 0, 0.15) !important; box-shadow: 0 8px 48px rgba(0, 0, 0, 0.15) !important; padding: 8px !important; } @media (min-width: 992px) { #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-content { border-radius: 4px !important; margin: 16px !important; } } #iubenda-cs-banner.iubenda-cs-fix-height .iubenda-cs-container, #iubenda-cs-banner.iubenda-cs-fix-height .iubenda-cs-content, #iubenda-cs-banner.iubenda-cs-fix-height .iubenda-cs-rationale { height: 100% !important; } #iubenda-cs-banner.iubenda-cs-fix-height.iubenda-cs-default-floating .iubenda-cs-content { height: calc(100% - 32px) !important; } #iubenda-cs-banner.iubenda-cs-fix-height .iubenda-cs-brand img { max-width: 75% !important; } #iubenda-cs-banner .iubenda-cs-content { background-color: #000000 !important; color: #FFFFFF !important; } #iubenda-cs-banner .iubenda-cs-opt-group { color: #000000 !important; } #iubenda-cs-banner .iubenda-cs-opt-group button { background-color: rgba(255, 255, 255, 0.1) !important; color: #FFFFFF !important; } #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-btn-primary { background-color: #0073CE !important; color: #FFFFFF !important; } /* ----------------- MOBILE SDK ----------------- */ .iubenda-mobile-sdk #iubenda-cs-banner.iubenda-cs-visible { justify-content: center!important; align-items: center!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-container { max-height: 100%!important; display: flex!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-container .iubenda-cs-content { height: auto!important; border-radius: 0!important; margin: 0!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-opt-group { text-align: center!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-close-btn { display: none!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-rationale { display: flex!important; flex-direction: column!important; height: 100%!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-banner-content { flex: 1; overflow-y: auto!important; margin: 0!important; padding: 16px 16px 48px!important; max-height: inherit!important; mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, black 15%) !important; -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, black 15%) !important; } @media (min-width: 992px) { .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-banner-content, .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-opt-group { margin: 24px!important; } .iubenda-mobile-sdk #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-rationale { width: 100% !important; margin: 0 !important; } } .no-banner #iubenda-cs-banner { display: none!important; } /** fix scrolling in iOS 10 **/ .iubenda-mobile-sdk #iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container, .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-container .iubenda-cs-content, .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-rationale { height: 100%!important; } .iubenda-mobile-sdk #iubenda-iframe .iubenda-iframe-top-container { position: relative!important; } .iubenda-mobile-sdk #iubenda-iframe #iab-container { position: absolute!important; top: 0!important; bottom: 0!important; left: 0!important; right: 0!important; } /** iframe **/ .iubenda-mobile-sdk #iubenda-iframe #iubenda-iframe-popup { height: 100%!important; width: 100%!important; } .iubenda-mobile-sdk #iubenda-iframe .iubenda-iframe-close-btn { display: none!important; } .iubenda-mobile-sdk #iubenda-iframe { background-color: transparent!important; } /* Fix cookie policy trimming on older Android devices */ .iubenda-mobile-sdk #iubenda-iframe iframe { background-color: transparent!important; position:absolute!important; bottom:0!important; top:0!important; } .iubenda-mobile-sdk #iubenda-iframe .iubenda-iframe-spinner { top: 50px !important; } /* Fix TCF widget overlapping footer in older Android devices */ .iubenda-mobile-sdk #iubenda-iframe .iubenda-iframe-footer { z-index: 9999!important; }</code></pre> <p>config.json:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>{ "banner": { "acceptButtonDisplay": "true", "customizeButtonDisplay": "true", "backgroundColor": "#000000", "textColor": "#FFFFFF", "acceptButtonColor": "#FD1D1D", "acceptButtonCaptionColor": "white", "customizeButtonColor": "transparent", "customizeButtonCaptionColor": "#FFF" } }</code></pre> <h4 class="wp-block-heading">Opzione TCF</h4> <p>A differenza della versione standard della Cookie Solution, <strong>l’<a href="#accessing-iab-transparency-and-consent-framework-settings">opzione TCF</a> è abilitata per impostazione predefinita nell’SDK</strong>. Se non esegui annunci personalizzati di terze parti e desideri disabilitare il supporto TCF, imposta <code>enableTcf: false</code> nel file config.json.</p> <p>Esempio:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>{ … enableTcf: false, "banner": { … } }</code></pre> <h4 class="wp-block-heading"> Parametri “invalidateConsentBefore” e “expireAfter”</h4> <p><code>invalidateConsentBefore</code> Accetta una data e, se valida, controlla se è già stata espressa una preferenza. Quando il timestamp è precedente al giorno della data configurata, la preferenza non verrà più considerata. Formati accettati: gg/MM/aaaa &#8211; aaaa/MM/gg &#8211; gg-MM-aaaa &#8211; aaa-MM-gg &#8211; gg.MM.aaaa &#8211; aaaaa.MM.gg</p> <p><code>expireAfter</code> Se valido, il numero di giorni del timestamp del consenso verrà confrontato con il valore intero del parametro <code>expireAfter</code>. Se la data del consenso è passata, i dati sul dispositivo verranno cancellati (valore predefinito: 360 giorni)</p> <p>Esempio:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>{ … "invalidateConsentBefore": "08/11/2022", "expireAfter": 100, … } }</code></pre> <h3 class="wp-block-heading">Mostrare l’interfaccia utente di consenso</h3> <table class="table table-bordered my-4"> <thead> <tr> <th>Metodo</th> <th>Descrizione</th> </tr> </thead> <tbody> <tr> <td>askConsent()</td> <td>Presenta l’interfaccia utente di consenso all’avvio dell’app</td> </tr> <tr> <td>openPreferences()</td> <td>(già editConsent, ora obsoleto)<br>Consente agli utenti di modificare le preferenze relative al consenso quando è già stato dato. Se non è stato espresso, viene visualizzata la richiesta per indicare le preferenze di consenso.</td> </tr> </tbody> </table> <p>Per presentare l’interfaccia utente di consenso all’avvio dell’app, chiama <code>IubendaCMP.askConsent(from: self)</code> dal metodo di <code>viewDidLoad</code> del ViewController principale:</p> <ul class="wp-block-list"> <li>se non c’è connessione Internet, la chiamata non avrà effetto (a condizione che <code>skipNoticeWhenOffline</code> non sia impostato su false); </li> <li>se il consenso è già stato dato, la chiamata non avrà effetto; </li> <li>se il consenso non è stato ancora dato ed è disponibile la connessione Internet, <code>IubendaCMP.askConsent(from: self)</code> mostrerà la richiesta per indicare le preferenze di consenso.</li> </ul> <p>Tieni presente che se hai impostato <code>forceConsent</code> su false, <code>IubendaCMP.askConsent(from: self)</code> non avrà effetto se l’utente ignora la richiesta di consenso dopo il primo lancio. Per mostrare di nuovo l’interfaccia utente di consenso, dovrai chiamare <code>IubendaCMP.openPreferences(from: self)</code>. </p> <p>Quindi, se vuoi aumentare al massimo i consensi:</p> <ul class="wp-block-list"> <li>imposta <code>forceConsent</code> su true e </li> <li>chiama <code>IubendaCMP.askConsent(from: self)</code></li> </ul> <p>Invece, se preferisci dare agli utenti la possibilità di ignorare la richiesta di consenso senza mostrarla di nuovo ogni volta che viene richiamato <code>IubendaCMP.askConsent(from: self)</code>:</p> <ul class="wp-block-list"> <li>imposta <code>forceConsent</code> su false</li> <li>chiama <code>IubendaCMP.askConsent(from: self)</code>, tenendo presente che non avrà effetto dopo il primo lancio</li> <li>per chiedere di nuovo il consenso, chiama <code>IubendaCMP.openPreferences(from: self)</code></li> </ul> <p>Note su <code>IubendaCMP.openPreferences()</code><strong>:</strong></p> <ul class="wp-block-list"> <li>se il consenso non è già stato dato, <code>IubendaCMP.openPreferences()</code> aprirà la richiesta di consenso.</li> <li>Se il consenso è stato dato, <code>IubendaCMP.openPreferences()</code> consentirà agli utenti di modificare le preferenze relative al consenso: <ul class="wp-block-list"> <li>Se <code>"perPurposeConsent": true</code>, mostrerà le preferenze <a href="https://www.iubenda.com/en/help/1205#per-category-consent">per categoria</a>.</li> <li>Se <code>"perPurposeConsent": false</code>, mostrerà le preferenze relative al consenso TCF.</li> <li>Invece, se <code>"perPurposeConsent": false</code> e <code>"enableTcf": false</code>, mostrerà la Cookie policy.</li> </ul> </li> </ul> <p>Per controllare quando mostrare la richiesta di consenso, puoi utilizzare semplicemente <code>IubendaCMP.openPreferences(from: self)</code>, ma dovrai comunque verificare se il consenso è stato dato. </p> <h3 class="wp-block-heading">Interfaccia utente di consenso personalizzata</h3> <p>Per chiedere il consenso agli utenti senza mostrare il popup, puoi utilizzare un’interfaccia utente personalizzata. In questo caso, puoi sfruttare i seguenti metodi di <code>IubendaCMP</code>:</p> <table class="table table-bordered my-4"> <thead> <tr> <th>Metodo</th> <th>Descrizione</th> </tr> </thead> <tbody> <tr> <td>accept()</td> <td>(già acceptDefaultConsent, ora obsoleto)<br>Imposta il consenso predefinito in background</td> </tr> <tr> <td>reject()</td> <td>Rifiuta il consenso predefinito in background</td> </tr> <tr> <td>openTcfPreferences()</td> <td>(già showConsentPreferences, ora obsoleto)<br>Apre un popup per impostare le preferenze relative al consenso TCF</td> </tr> <tr> <td>openTcfVendorsPreferences()</td> <td>(già showVendorsPreferences, ora obsoleto)<br>Apre un popup per impostare le preferenze relative ai vendor</td> </tr> <tr> <td>openCookiePolicy()</td> <td>(già showCookiePolicy, ora obsoleto)<br>Apre un popup che mostra la Cookie policy</td> </tr> <tr> <td>shouldGetConsent()</td> <td>Chiama questa funzione per verificare se devi chiedere il consenso dell’utente o se è già stata espressa una preferenza</td> </tr> <tr> <td>isPurposeEnabled(id)</td> <td>Se perPurposeConsent è true, a sua volta restituisce true in caso di consenso dato per la finalità specificata nel parametro numerico <code>id</code>.</td> </tr> <tr> <td>isConsentGiven()</td> <td>Se <code>perPurposeConsent</code> è <code>false</code>, restituisce <code>true</code> in caso di consenso accettato, altrimenti restituisce <code>false</code></td> </tr> <tr> <td>clearData()</td> <td>Cancella i segnali di consenso CMP raccolti nella precedente interazione utente</td> </tr> <tr> <td>config</td> <td>Recupera la configurazione inizializzata nella classe AppDelegate</td> </tr> <tr> <td>shouldGetConsentForInvalidateConsentBefore()</td> <td>Chiama questa funzione per verificare se devi chiedere il consenso dell’utente quando il timestamp è precedente al giorno del parametro di data <code>invalidateConsentBefore</code> configurato</td> </tr> <tr> <td>getVendorList(version: , callback:)</td> <td>Restituisce l’elenco dei vendor. Se il parametro facoltativo <code>version</code> non è impostato, restituirà l’ultimo elenco dei vendor. Considera il parametro <code>callback</code> per i risultati di successo ed errore</td> </tr> <tr> <td>getUserPreferences()</td> <td>Restituisce le preferenze utente salvate, comprese quelle relative la consenso</td> </tr> <tr> <td>setUserPreferences()</td> <td>Imposta le preferenze utente con aggiunte relative a consenso e dati TCF dal servizio web</td> </tr> <tr> <td>canOpenPreferences()</td> <td>Restituisce true in caso di preferenze salvate</td> </tr> <tr> <td>requestAttConsent()</td> <td>Apre l’avviso per le autorizzazioni di sistema ATT. Se l’utente rifiuta il tracciamento, cancella le preferenze sul dispositivo</td> </tr> <tr> <td>getATTStatus()</td> <td>Restituisce lo stato ATT del consenso utente, che può essere “Accepted” o “Denied”. Nota: in base alla <a href="https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/authorizationstatus">documentazione ATT di Apple</a>, gli stati <code>.denied</code>, <code>.notDetermined</code> e <code>.restricted</code> sono classificati come “Denied”.</td> </tr> </tbody> </table> <p>Note su <code>IubendaCMP.accept()</code><strong>:</strong></p> <ul class="wp-block-list"> <li>se l’utente non ha espresso alcuna preferenza, viene accettato tutto.</li> <li>Questo metodo è consigliato quando si sviluppa un’interfaccia utente personalizzata che non si basa sull’informativa predefinita utilizzata dall’SDK.</li> </ul> <p>Quando si applica un metodo <code>open*</code>, puoi utilizzare una funzione di monitoraggio delle notifiche (vedi più avanti) per rilevare quando l’utente ha dato il consenso.</p> <p>Esempio:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>import UIKit import iubenda class ConsentViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() NotificationCenter.default.addObserver( self, selector: #selector(consentDidChange), name: NSNotification.Name.ConsentChanged, object: nil ) } @IBAction func acceptClick(_ sender: Any) { IubendaCMP.accept() dismiss(animated: true) } @IBAction func optionsClick(_ sender: Any) { IubendaCMP.openTcfPreferences(from: self) } @objc func consentDidChange() { if IubendaCMP.isConsentGiven() { dismiss(animated: true) } } }</code></pre> <h3 class="wp-block-heading">Rilevamento delle modifiche</h3> <p>Se necessario, è possibile rilevare le modifiche al consenso utente tramite <code>NotificationCenter</code> aggiungendo una funzione di monitoraggio per <code>NSNotification.Name.ConsentChanged</code>:</p> <pre class="wp-block-preformatted prettyprint linenums js-code">private func observeConsentNotification() {<br> NotificationCenter.default.addObserver(<br> self,<br> selector: #selector(consentDidChange),<br> name: NSNotification.Name.ConsentChanged,<br> object: nil<br> )<br>}<br><br>@objc func consentDidChange() {<br> // ...<br>}</pre> <h3 class="wp-block-heading">Accesso alle impostazioni Transparency and Consent Framework di IAB</h3> <p>Puoi accedere alle impostazioni <a href="https://www.iubenda.com/en/help/7440">TCF di IAB</a>, come la stringa di consenso codificata, direttamente dalle specifiche IAB o tramite i metodi offerti da <code>IubendaCMP.storage</code>.</p> <h4 class="wp-block-heading">Impostazioni disponibili</h4> <table class="table table-bordered my-4"> <thead> <tr> <th>Metodo</th> <th>Descrizione</th> </tr> </thead> <tbody> <tr> <td>consentString</td> <td>Stringa di consenso</td> </tr> <tr> <td>googlePersonalized</td> <td>true se l’utente ha accettato l’opzione per gli annunci personalizzati di Google</td> </tr> <tr> <td>subjectToGDPR</td> <td>Impostazione SubjectToGdpr</td> </tr> <tr> <td>cmpPresent</td> <td>true se è presente una CMP</td> </tr> <tr> <td>VendorConsents</td> <td>Stringa binaria relativa ai vendor</td> </tr> <tr> <td>PurposeConsents</td> <td>Stringa binaria relativa alle finalità</td> </tr> <tr> <td>isPurposeConsentGivenFor(id)</td> <td>Restituisce se il consenso è stato dato per l’ID di finalità trasmesso</td> </tr> <tr> <td>isVendorConsentGivenFor(id)</td> <td>Restituisce se il consenso è stato dato per l’ID di vendor trasmesso</td> </tr> <tr> <td>consentTimestamp</td> <td>Restituisce il timestamp del consenso (a partire da v1.3.2)</td> </tr> <tr> <td>isPreferenceExpressed()</td> <td>Restituisce true se l’SDK rileva una preferenza valida già memorizzata. “valid” indica che se la preferenza viene invalidata da <code>invalidateConsentBefore</code>, allora il metodo dovrebbe restituire <code>false</code></td> </tr> </tbody> </table> <p>Per ulteriori informazioni sul TCF e sulle relative impostazioni avanzate, come la possibilità di limitare le finalità e determinare la base giuridica applicabile (<strong>consenso e/o legittimo interesse</strong>), leggi la nostra <a href="https://www.iubenda.com/en/help/7440">guida al TCF</a>.</p> <div class="my-4 rounded px-3 pt-3 pb-1 bg-fade"> <h5 class="my-2">Google Ads e consenso non dato</h5> <p>Come spiegato nella <a href="https://support.google.com/admanager/answer/9805023?hl=en">documentazione di Google</a> alla sezione “Requisiti per pubblicare annunci non personalizzati”, Google non supporta i casi in cui il consenso è stato negato, neanche per gli annunci non personalizzati. Di conseguenza, non viene pubblicato nessun tipo di annuncio.</p> </div> <h3 class="wp-block-heading" id="initializing-libraries-that-donot-comply-tcf">Inizializzazione delle librerie che non aderiscono al TCF di IAB</h3> <p>Per le librerie di terze parti che non aderiscono direttamente al Transparency and Consent Framework di IAB, è possibile che debbano essere inizializzate separatamente a seconda dello stato e delle preferenze di consenso.</p> <p>A tale scopo, puoi implementare un listener per il rilevamento delle modifiche in AppDelegate e chiamare <code>IubendaCMP.isConsentGiven()</code> e altri metodi per valutare lo stato del consenso.</p> <p>Esempio:</p> <pre class="wp-block-preformatted prettyprint linenums js-code">import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -&gt; Bool { let config = IubendaCMPConfiguration() config.gdprEnabled = true config.googleAds = true config.siteId = "12345" config.cookiePolicyId = "252372" IubendaCMP.initialize(with: config) observeConsentNotification() initializeLibraries() return true } private func observeConsentNotification() { NotificationCenter.default.addObserver( self, selector: #selector(consentDidChange), name: NSNotification.Name.ConsentChanged, object: nil ) } @objc func consentDidChange() { initializeLibraries() } private func initializeLibraries() { if (IubendaCMP.isConsentGiven()) { if (IubendaCMP.isGooglePersonalized()) { // enable Google personalized ADs } else { // disable Google personalized ADs } // setup other libraries } } }</pre> <h3 class="wp-block-heading" id="app-tracking-transparency">Trasparenza sul tracciamento delle app (iOS 14.5 e versioni successive)</h3> <p>A partire da iOS 14.5 (aprile 2021), Apple richiede la massima trasparenza in merito ai dati utilizzati e alle aziende terze che tracceranno l’attività utente nelle app.</p> <p>Se vuoi richiedere l’autorizzazione a tracciare l’attività utente e accedere all’identificativo per gli inserzionisti del dispositivo, devi pertanto applicare la funzione <a href="https://developer.apple.com/app-store/user-privacy-and-data-use/">AppTrackingTransparency</a> (ATT). Puoi anche aggiungere altre richieste di autorizzazione ai fini della compliance normativa, ad esempio per la direttiva ePrivacy o il GDPR. L’importante è che l’app rispetti sempre la risposta dell’utente alla richiesta di AppTrackingTransparency, anche se in conflitto con altre richieste. </p> <p>In base al <a href="https://developer.apple.com/app-store/review/guidelines/#5.1.1">punto 5.1.1 (iv) delle linee guida di Apple</a>: <em>“Le app devono rispettare le impostazioni di autorizzazione dell’utente e non tentare di manipolare, aggirare o obbligare a prestare il consenso all’accesso ai dati non necessari”.</em></p> <p>Rientra in questi casi l’alterazione della risposta AppTrackingTransparency di un utente per attenersi all’autorizzazione concessa ad altre richieste. Per aggiungere queste richieste di autorizzazione puoi usare piattaforme di gestione del consenso di terze parti, purché non venga effettuato alcun tracciamento da tale utilizzo.</p> <h4 class="wp-block-heading">Come soddisfare i requisiti ATT di Apple e rispettare le norme di legge</h4> <p>Per la massima conformità alle norme di Apple per la trasparenza sul tracciamento delle app (evitando così il rifiuto dall’App Store), nonché ai requisiti previsti dalla direttiva ePrivacy o dal GDPR, devi chiedere l’autorizzazione utente tramite ATT<strong> e</strong> il consenso utente tramite la nostra CMP.</p> <p>Per combinare la CMP di iubenda con la funzione ATT di Apple, puoi chiedere l’autorizzazione utente manualmente tramite ATT o impostare <code>automaticHandlingOfAtt</code> su true e poi raccogliere il consenso dalla CMP solo e soltanto se l’utente ha concesso l’autorizzazione tramite ATT. </p> <p>Se vuoi gestire l’avviso per le autorizzazioni di sistema tramite l’SDK di iubenda, imposta <code>NSUserTrackingUsageDescription</code>. Per ulteriori informazioni su questa operazione, consulta la <a href="https://developer.apple.com/documentation/bundleresources/information_property_list/nsusertrackingusagedescription">documentazione di Apple</a>. Dopo di che, imposta il parametro <code>automaticHandlingOfAtt</code> dell’oggetto <code>IubendaCMPConfiguration</code> su <code>true</code> nella classe <code>AppDelegate</code>.</p> <p>Tieni presente che l’app deve <strong>sempre rispettare la risposta dell’utente alla richiesta AppTrackingTransparency</strong>, anche in caso di conflitto con la risposta ricevuta tramite la nostra CMP.</p> <p>Ad esempio, se l’utente non fornisce l’autorizzazione tramite l’avviso ATT, è molto probabile che non presti il consenso neanche tramite la CMP. <br>In questo caso, puoi evitare di chiamare il metodo <code>askConsent</code> per non visualizzare la CMP e considerare il consenso rifiutato per tutte le finalità dichiarate. Se utilizzi <code>automaticHandlingOfAtt = true</code>, il metodo <code>askConsent</code> mostrerà prima l’avviso per le autorizzazioni di sistema ATT di Apple e poi, a seconda della scelta dell’utente, l’SDK mostrerà il popup per la richiesta di consenso.</p> <p>Inoltre, se l’utente modifica le preferenze espresse negando le autorizzazioni concesse in precedenza tramite le impostazioni dell’applicazione, puoi invocare il metodo <code>clearData()</code>, che cancella i segnali di consenso CMP raccolti nell’interazione utente precedente. Se usi <code>automaticHandlingOfAtt = true</code>, allora l’SDK di iubenda invocherà il metodo <code>clearData()</code>.<br>La CMP non si attiverà fino a quando l’utente non cambierà di nuovo le preferenze e fornirà il permesso tramite le impostazioni dell’applicazione.</p> <h3 class="wp-block-heading">Connessione assente ed errori</h3> <p>È necessaria una connessione Internet per mostrare il popup di consenso e generare o aggiornare di conseguenza la stringa di consenso nella libreria, mentre l’ultima stringa di consenso è sempre disponibile nell’archiviazione locale tramite <code>IubendaCMP.storage</code>.</p> <p>Per impostazione predefinita, il metodo <code>askConsent</code> controlla se è presente una connessione Internet prima di lanciare il popup. Se non c’è connessione, il popup non viene mostrato, ma verrà presentato al lancio successivo.</p> <p>Se si verifica un errore durante il flusso di consenso, invece, viene mostrato un messaggio di errore con l’opzione per riprovare o chiudere il popup. In questo caso, l’impostazione <code>forceConsent=true</code> permette di mostrare di nuovo il popup se non è stato dato alcun consenso.</p> <h3 class="wp-block-heading">Preferenze relative al consenso su dispositivi diversi</h3> <p>Leggi <a href="https://www.iubenda.com/en/help/23122">questa guida</a> per scoprire come implementare l’API di Consent Database per sincronizzare le preferenze relative al consenso tra siti e app per ogni utente autenticato.</p> <h3 class="wp-block-heading">Log delle modifiche</h3> <h4 class="wp-block-heading">2.6.9</h4> <ul class="wp-block-list"> <li>Supporto aggiunto per TCF 2.2</li> </ul> <h4 class="wp-block-heading">2.6.8</h4> <ul class="wp-block-list"> <li>Metodi <code>automaticHandlingOfAtt</code>, <code>canOpenPreferences()</code>, <code>requestAttConsent()</code>, <code>getATTStatus()</code> aggiunti a <code>iubendaCMP</code></li> </ul> <h4 class="wp-block-heading">2.6.7</h4> <ul class="wp-block-list"> <li>Metodo <code>reject()</code> aggiunto alla classe <code>IubendaCMP</code></li> </ul> <h4 class="wp-block-heading">2.6.6</h4> <ul class="wp-block-list"> <li>Correzione dei bug per le dimensioni personalizzate</li> </ul> <h4 class="wp-block-heading">2.6.5</h4> <ul class="wp-block-list"> <li>Metodi <code>landscapeWidth</code>, <code>landscapeHeight</code>, <code>portraitWidth</code>, <code>portraitHeight</code> aggiunti a <code>IubendaCMPConfiguration</code></li> </ul> <h4 class="wp-block-heading">2.6.4</h4> <ul class="wp-block-list"> <li>Metodo <code>getPreferencesJson</code> aggiunto alla classe <code>IubendaCMP</code></li> <li>Metodo <code>dismissColor</code> aggiunto alla classe <code>IubendaCMPConfig</code> per la personalizzazione del pulsante di chiusura</li> </ul> <h4 class="wp-block-heading">2.6.1</h4> <ul class="wp-block-list"> <li>Metodo <code>isGooglePersonalized()</code> diventato obsoleto</li> </ul> <h4 class="wp-block-heading">2.6.0</h4> <ul class="wp-block-list"> <li>Metodo <code>proxyUrl(baseUrl)</code> aggiunto per riscrivere l’URL utilizzato per incorporare la Cookie Solution</li> </ul> <h4 class="wp-block-heading">2.5.9</h4> <ul class="wp-block-list"> <li>Funzione <code>saveConsent(preferencesJson,timestamp)</code> corretta</li> </ul> <h4 class="wp-block-heading">2.5.8</h4> <ul class="wp-block-list"> <li>Metodo <code>isPreferenceExpressed()</code> aggiunto</li> <li>Metodo <code>isConsentGiven()</code> corretto</li> </ul> <h4 class="wp-block-heading">2.5.7</h4> <ul class="wp-block-list"> <li>Opzione <code>expireAfter</code> aggiunta a <code>config.json</code> per eseguire il confronto con la data di consenso salvata e cancellare i dati se necessario</li> </ul> <h4 class="wp-block-heading">2.5.6</h4> <ul class="wp-block-list"> <li>Parametro <code>invalidateConsentBefore</code> aggiunto alla classe IubendaCMP per eseguire il confronto con la data di consenso salvata e mostrare nuovamente la richiesta di consenso se necessario</li> <li>Funzione <code>shouldGetConsentForInvalidateConsentBefore</code>() aggiunta alla classe IubendaCMP per chiamare l’interfaccia utente personalizzata</li> <li>Supporto di Objective-C aggiunto per il parametro <code>IubendaCMP.storage</code></li> </ul> <h4 class="wp-block-heading">2.5.5</h4> <ul class="wp-block-list"> <li>Parametro <code>BannerPosition</code> aggiunto alla classe IubendaCMPConfiguration per personalizzare la posizione del banner di consenso (valore predefinito: CENTER)</li> </ul> <h4 class="wp-block-heading">2.5.4</h4> <ul class="wp-block-list"> <li>Metodi aggiunti per l’interfaccia utente personalizzata e target tvOS</li> </ul> <h4 class="wp-block-heading">2.5.3</h4> <ul class="wp-block-list"> <li>Stringa di consenso scaduta corretta con cancellazione dopo 360 giorni</li> </ul> <h4 class="wp-block-heading">2.5.2</h4> <ul class="wp-block-list"> <li>Utilizzo consentito di <code>forceConsent=true</code> con <code>enableTcf=false</code></li> </ul> <h4 class="wp-block-heading">2.5.1</h4> <ul class="wp-block-list"> <li>Problema risolto presente nella versione 2.5.0 che causava il funzionamento scorretto di <code>enableTcf=false</code> e <code>forceConsent=false</code></li> </ul> <h4 class="wp-block-heading">2.5.0</h4> <ul class="wp-block-list"> <li>Metodo <code>IubendaCMP.clearData()</code> aggiunto per cancellare i segnali di consenso CMP raccolti ogni volta che un utente cambia le preferenze espresse negando le autorizzazioni concesse in precedenza tramite ATT.</li> </ul> <h4 class="wp-block-heading">2.4.0</h4> <ul class="wp-block-list"> <li>Metodi <code>acceptDefaultConsent</code>, <code>editConsent</code>, <code>showConsentPreferences</code>, <code>showVendorsPreferences</code> e <code>showCookiePolicy</code> rinominati rispettivamente in <code>accept</code>, <code>openPreferences</code>, <code>openTcfPreferences</code>, <code>openTcfVendorsPreferences</code> e <code>openCookiePolicy</code></li> </ul> <h4 class="wp-block-heading">2.3.6</h4> <ul class="wp-block-list"> <li>Problema risolto relativo ai link esterni</li> <li>Compilazione eseguita con la versione Swift 5.3.2 meno recente</li> </ul> <h4 class="wp-block-heading">2.3.5</h4> <ul class="wp-block-list"> <li>Problema risolto per alcune configurazioni di build xcode/cocoapods</li> </ul> <h4 class="wp-block-heading">2.3.2 &#8211; v2.3.4</h4> <ul class="wp-block-list"> <li>Registrazione dei log migliorata</li> </ul> <h4 class="wp-block-heading">2.3.1</h4> <ul class="wp-block-list"> <li>Metodi <code>isVendorConsentGivenFor(id)</code> e <code>isPurposeConsentGivenFor(id)</code> aggiunti</li> </ul> <h4 class="wp-block-heading">2.3.0</h4> <ul class="wp-block-list"> <li>Opzione <code>preventDismissWhenLoaded</code> aggiunta</li> <li>Algoritmo aggiornato per le dimensioni del popup</li> </ul> <h4 class="wp-block-heading">2.2.1</h4> <ul class="wp-block-list"> <li>Dimensioni del popup migliorate su schermi di diverse dimensioni</li> </ul> <h4 class="wp-block-heading">2.2.0</h4> <ul class="wp-block-list"> <li>Supporto aggiunto per <a href="https://www.iubenda.com/en/help/23271">Transparency and Consent Framework v2.0</a>, il <a href="https://www.iubenda.com/en/help/3831#reject-button">pulsante Rifiuta</a> e il <a href="https://www.iubenda.com/en/help/1205#per-category-consent">consenso per categoria</a></li> <li>Metodo <code>hasConsent</code> diventato obsoleto e sostituito con <code>isConsentGiven</code></li> <li>Funzione <code>shouldGetConsent</code> introdotta per implementazioni più personalizzate</li> </ul> <h4 class="wp-block-heading">2.1.1</h4> <ul class="wp-block-list"> <li>Supporto di Objective-C aggiornato</li> </ul> <h4 class="wp-block-heading">2.1.0</h4> <ul class="wp-block-list"> <li>Supporto di xcframework aggiunto</li> </ul> <h4 class="wp-block-heading">2.0.0</h4> <ul class="wp-block-list"> <li>Opzione <code>csVersion</code> aggiunta</li> </ul> <h4 class="wp-block-heading">1.3.2</h4> <ul class="wp-block-list"> <li>Timestamp aggiunto a <code>saveConsent()</code> e <code>CMPStorage</code></li> </ul> <h4 class="wp-block-heading">1.3.0</h4> <ul class="wp-block-list"> <li>Opzioni <code>cssContent</code> e <code>jsonContent</code> introdotte</li> </ul> <h4 class="wp-block-heading">1.2.0</h4> <ul class="wp-block-list"> <li>Opzione <code>dismissColor</code> introdotta per impostare un colore personalizzato per il pulsante di chiusura (mostrato solo nel primo livello)</li> <li>Possibilità di gestire il ridimensionamento delle viste web quando si torna al primo livello</li> <li>Riferimento dell’SDK alla versione esatta della Cookie Solution</li> </ul> <h4 class="wp-block-heading">1.1.3</h4> <ul class="wp-block-list"> <li>Correzione dei bug</li> </ul> <h4 class="wp-block-heading">1.1.2</h4> <ul class="wp-block-list"> <li>Introdotti il controllo della connessione e l’opzione <code>skipNoticeWhenOffline</code></li> </ul> <h4 class="wp-block-heading">1.1.1</h4> <ul class="wp-block-list"> <li>Nuovo valore predefinito introdotto per <code>forceConsent</code></li> </ul> <h4 class="wp-block-heading">1.1.0</h4> <ul class="wp-block-list"> <li>Opzione <code>acceptIfDismissed</code> introdotta</li> </ul> <h4 class="wp-block-heading">1.0.1</h4> <ul class="wp-block-list"> <li>Supporto aggiunto per iOS 10</li> </ul> <h4 class="wp-block-heading">1.0.0</h4> <ul class="wp-block-list"> <li>Rilascio iniziale</li> </ul> <!--"text-center py-5 hide-from-amp"> <a class="btn btn-xl btn-primary text-white px-5 py-3 text-lg sans-serif" href="https://iubenda.link/ios">Download the SDK for iOS</a> </div--> <hr class="my-5"> <h2 class="wp-block-heading" id="android">Android</h2> <h3 class="wp-block-heading mt-4">Aggiungere l’SDK di iubenda al progetto</h3> <p>Aggiungi il repository e la dipendenza seguenti al file <code>build.gradle</code>:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>repositories { maven { url "https://libraries.iubenda.com/android" } } dependencies { implementation "com.iubenda:mobile-sdk:2.6.4" }</code></pre> <p>Per aggiornare automaticamente la versione della libreria in via di sviluppo, puoi impostare la dipendenza come segue:</p> <ul class="wp-block-list"> <li><code>"com.iubenda:mobile-sdk:2.6.+"</code> per gli aggiornamenti banali</li> <li><code>"com.iubenda:mobile-sdk:2.+"</code> per gli aggiornamenti minori</li> <li><code>"com.iubenda:mobile-sdk:+"</code> per tutti gli aggiornamenti</li> </ul> <h3 class="wp-block-heading">Classe Application</h3> <p>Crea una nuova classe che estende <code>android.app.Application</code> e impostala nel manifesto dell’app se non è già presente nel tuo progetto.</p> <pre class="wp-block-code prettyprint linenums js-code"><code>&lt;application android:name=".App" ...&gt; ... &lt;/application&gt;</code></pre> <h3 class="wp-block-heading">Inizializzare l’SDK</h3> <p>Nella classe Application, all’interno del metodo <code>onCreate</code>, crea un oggetto di configurazione con le tue impostazioni e chiama <code>IubendaCMP.initialize()</code></p> <pre class="wp-block-code prettyprint linenums js-code"><code>@Override public void onCreate() { super.onCreate(); IubendaCMPConfig config = IubendaCMPConfig.builder() .gdprEnabled(true) .siteId("12341234") .cookiePolicyId("56785678") .googleAds(true) .cssResource(R.raw.custom_style) .jsonResource(R.raw.config_json) .applyStyles(true) .build(); IubendaCMP.initialize(this, config); }</code></pre> <h3 class="wp-block-heading">Impostazioni</h3> <table class="table table-bordered my-4"> <thead> <tr> <th>Impostazione</th> <th>Valore predefinito</th> <th>Descrizione</th> </tr> </thead> <tbody> <tr> <td>csVersion</td> <td>current</td> <td>Consente di definire quale versione di Privacy Controls and Cookie Solution utilizzare. I valori accettati sono “current”, “beta”, “stable” o un numero di versione specifico</td> </tr> <tr> <td>gdprEnabled</td> <td>false</td> <td>Proxy per l’impostazione IABConsent_SubjectToGDPR di TCF di IAB. Se false, Mediation SDK può eseguire la mediazione in tutti gli SDK della rete di annunci. In caso contrario, Mediation SDK eseguirà la mediazione solo tra gli SDK della rete di annunci conformi al GDPR</td> </tr> <tr> <td>siteId</td> <td> </td> <td>ID del sito del cliente su iubenda</td> </tr> <tr> <td>cookiePolicyId</td> <td> </td> <td>ID della Cookie policy del cliente su iubenda</td> </tr> <tr> <td>forceConsent</td> <td>true</td> <td>Se true, la schermata del consenso sarà visibile fino a quando l’utente non accetta, in modo da aumentare al massimo i consensi. Se false, askConsent() non avrà alcun effetto se l’utente ignora la richiesta di consenso dopo il primo lancio</td> </tr> <tr> <td>googleAds</td> <td>false</td> <td>Se true, abilita la gestione del consenso per gli annunci personalizzati di Google</td> </tr> <tr> <td>jsonResource</td> <td> </td> <td>Risorsa non elaborata (src/main/res/raw) per trasmettere la configurazione personalizzata all’interfaccia utente di consenso</td> </tr> <tr> <td>jsonContent</td> <td> </td> <td>Come sopra, ma impostato come stringa</td> </tr> <tr> <td>jsonFile</td> <td> </td> <td>Come sopra, ma impostato come file</td> </tr> <tr> <td>cssResource</td> <td> </td> <td>Risorsa non elaborata (src/main/res/raw) per applicare lo stile CSS personalizzato all’interfaccia utente di consenso in aggiunta al file di stile standard (applyStyles=true) o da solo (applyStyles=false)</td> </tr> <tr> <td>cssContent</td> <td> </td> <td>Come sopra, ma impostato come stringa</td> </tr> <tr> <td>cssFile</td> <td> </td> <td>Come sopra, ma impostato come file</td> </tr> <tr> <td>cssUrl</td> <td> </td> <td>Come sopra, ma impostato come stringa URL</td> </tr> <tr> <td>applyStyles</td> <td>true</td> <td>Se true, all’interfaccia utente di consenso viene applicato lo stile CSS standard</td> </tr> <tr> <td>acceptIfDismissed</td> <td>false</td> <td>Se true e il file JS è pronto, quando l’utente ignora il popup, l’informativa viene accettata</td> </tr> <tr> <td>preventDismissWhenLoaded</td> <td>false</td> <td>Se true, una volta che il popup è caricato, non è possibile ignorarlo senza esprimere una preferenza</td> </tr> <tr> <td>skipNoticeWhenOffline</td> <td>false</td> <td>Se abilitato, askConsent() non mostrerà il popup in assenza di connessione Internet</td> </tr> <tr> <td>bannerPosition</td> <td>center</td> <td>Consente di impostare la posizione del popup per il banner di consenso in alto (“top”), in basso (“bottom”) o al centro (“center”)</td> </tr> <tr> <td>dismissColor</td> <td> </td> <td>Consente di impostare un colore personalizzato per il pulsante di chiusura (×). Se non è impostato, verrà utilizzato il colore predefinito</td> </tr> <tr> <td>landscapeHeight</td> <td></td> <td>Imposta l’altezza personalizzata per il primo livello in modalità orizzontale</td> </tr> <tr> <td>landscapeWidth</td> <td></td> <td>Imposta la larghezza personalizzata per il primo livello in modalità orizzontale</td> </tr> <tr> <td>portraitHeight</td> <td></td> <td>Imposta l’altezza personalizzata per il primo livello in modalità verticale</td> </tr> <tr> <td>portraitWidth</td> <td></td> <td>Imposta la larghezza personalizzata per il primo livello in modalità verticale</td> </tr> </tbody> </table> <h4 class="wp-block-heading" id="android-example-custom-css">Esempio di configurazione con CSS personalizzato</h4> <pre class="wp-block-code prettyprint linenums js-code"><code>IubendaCMPConfig config = IubendaCMPConfig.builder() .gdprEnabled(true) .siteId("12341234") .cookiePolicyId("56785678") .forceConsent(true) .googleAds(true) .applyStyles(false) .cssResource(R.raw.custom_style) .jsonResource(R.raw.config) .acceptIfDismissed(true) .build();</code></pre> <p>custom_style.css:</p> <pre class="wp-block-code prettyprint linenums js-code pre-scrollable"><code>/*************************************************************************** // * iubenda Privacy Controls and Cookie Solution * // * * // * Sample CSS v2.2.6 * // * * // * (c) 2019 iubenda srl &lt;info@iubenda.com&gt; * // * All Rights Reserved. * // * * // ************************************************************************* // // CHANGELOG // // 2.2.7 - 2020-06-18 // - Fix container breaking on mobile. // // 2.2.6 - 2020-05-27 // - Hide scroll bar visibility. // - Fix brand image height on mobile. // // 2.2.5 - 2020-05-06 // - Fix IE flex content. // - Fix text overflow. // // 2.2.3 - 2020-04-21 // - Cursor pointer // - Button text ellipsis // - Equalize shadows top/bottom modal bar // // 2.2.2 - 2020-04-06 // - Add pointer events auto to the overlay // // 2.2.1 - 2020-03-06 // - Introduce popover. // // 2.2.0 - 2019-11-07 // - Introduce brand customizations // // 2.1.5 - 2019-11-22 // - Add class to go fullscreen. // // 2.1.4 - 2020-03-25 // - Make the banner shadow darker // // 2.1.3 - 2020-01-22 // - Fix banner not appearing on iPhone. // // 2.1.2 - 2019-11-07 // - Fix buttons height on IE. // // 2.1.1 - 2019-10-30 // - Fix buttons margin and customize-advertising-tracking button width on mobile. // // 2.1.0 - 2019-10-24 // - Introduce text overflowing mask and style for reject button. // // 2.0.4 - 2019-06-24 // - Convert close button width to min-width // // 2.0.3 - 2019-05-24 // - Introduce new positioning options // // 2.0.2 - 2019-05-02 // - Fix text spaces when custom content // // 2.0.1 - 2019-04-09 // - Add rules for buttons group // // 2.0.0 - 2019-02-01 // - Full rewrite to accommodate the new markup // // 0.0.1 - 2015-04-01 // - First implementation of the sample CSS */ /* ----------------- IMPORTANT: Changing the following values may prevent the notice from being displayed properly. ----------------- */ #iubenda-cs-banner { font-size: 15px !important; background: none !important; line-height: 1.4 !important; position: fixed !important; z-index: 99999998 !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; border: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; will-change: opacity, visibility; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; -webkit-transition: opacity 0.4s ease, visibility 0.4s ease !important; -o-transition: opacity 0.4s ease, visibility 0.4s ease !important; transition: opacity 0.4s ease, visibility 0.4s ease !important; /* default */ } #iubenda-cs-banner &#91;class*=" iub"], #iubenda-cs-banner &#91;class^=iub], #iubenda-cs-banner .iubenda-banner-content:not(.iubenda-custom-content) * { font-size: 100% !important; width: auto !important; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; background: none !important; -webkit-box-sizing: border-box !important; box-sizing: border-box !important; -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important; -webkit-backface-visibility: hidden !important; backface-visibility: hidden !important; font-family: -apple-system, sans-serif !important; text-decoration: none !important; color: currentColor !important; background-attachment: scroll !important; background-color: transparent !important; background-image: none !important; background-position: 0 0 !important; background-repeat: repeat !important; border: 0 !important; border-color: #000 !important; border-color: currentColor !important; border-radius: 0 !important; border-style: none !important; border-width: medium !important; bottom: auto !important; clear: none !important; clip: auto !important; counter-increment: none !important; counter-reset: none !important; direction: inherit !important; float: none !important; font-style: inherit !important; font-variant: normal !important; font-weight: inherit !important; height: auto !important; left: auto !important; letter-spacing: normal !important; line-height: inherit !important; list-style-type: inherit !important; list-style-position: outside !important; list-style-image: none !important; margin: 0 !important; max-height: none !important; max-width: none !important; min-height: 0 !important; min-width: 0 !important; opacity: 1; outline: 0 !important; overflow: visible !important; padding: 0 !important; position: static !important; quotes: "" "" !important; right: auto !important; table-layout: auto !important; text-align: left !important; text-indent: 0 !important; text-transform: none !important; top: auto !important; unicode-bidi: normal !important; vertical-align: baseline !important; visibility: inherit !important; white-space: normal !important; width: auto !important; word-spacing: normal !important; z-index: auto !important; background-origin: padding-box !important; background-origin: padding-box !important; background-clip: border-box !important; background-size: auto !important; -o-border-image: none !important; border-image: none !important; border-radius: 0 !important; border-radius: 0 !important; -webkit-box-shadow: none !important; box-shadow: none !important; -webkit-column-count: auto !important; -moz-column-count: auto !important; column-count: auto !important; -webkit-column-gap: normal !important; -moz-column-gap: normal !important; column-gap: normal !important; -webkit-column-rule: medium none #000 !important; -moz-column-rule: medium none #000 !important; column-rule: medium none #000 !important; -webkit-column-span: none !important; -moz-column-span: none !important; column-span: none !important; -webkit-column-width: auto !important; -moz-column-width: auto !important; column-width: auto !important; -webkit-font-feature-settings: normal !important; font-feature-settings: normal !important; overflow-x: visible !important; overflow-y: visible !important; -webkit-hyphens: manual !important; -ms-hyphens: manual !important; hyphens: manual !important; -webkit-perspective: none !important; perspective: none !important; -webkit-perspective-origin: 50% 50% !important; perspective-origin: 50% 50% !important; text-shadow: none !important; -webkit-transition: all 0s ease 0s !important; -o-transition: all 0s ease 0s !important; transition: all 0s ease 0s !important; -webkit-transform: none !important; -ms-transform: none !important; transform: none !important; -webkit-transform-origin: 50% 50% !important; -ms-transform-origin: 50% 50% !important; transform-origin: 50% 50% !important; -webkit-transform-style: flat !important; transform-style: flat !important; word-break: normal !important; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } #iubenda-cs-banner .iub-popover-trigger { display: inline-block !important; text-decoration: underline !important; -webkit-text-decoration-style: dashed !important; text-decoration-style: dashed !important; position: relative !important; margin-right: 16px !important; cursor: pointer !important; line-height: 1.25 !important; } #iubenda-cs-banner .iub-popover-trigger:before, #iubenda-cs-banner .iub-popover-trigger:after { content: ""; display: inline-block; width: 14px; height: 14px; border-radius: 12px; vertical-align: middle; background-size: 4px; position: absolute; left: calc(100% + 2px); top: 3px; } #iubenda-cs-banner .iub-popover-trigger:before { background-color: currentColor; opacity: 0.35; } #iubenda-cs-banner .iub-popover-trigger:after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='13' viewBox='0 0 7 13'%3E%3Cg fill='%23FFF' fill-rule='evenodd'%3E%3Cpath d='M2.779 1.288a1.287 1.287 0 112.574 0 1.287 1.287 0 01-2.574 0zM5.467 10.422l.903 1.851-.7.341a2.496 2.496 0 01-3.545-2.717l.818-3.252a.42.42 0 00-.178-.382.422.422 0 00-.452-.041l-.844.412-.902-1.852.843-.412a2.491 2.491 0 012.576.233 2.49 2.49 0 01.989 2.389 1.105 1.105 0 01-.02.095l-.817 3.253a.42.42 0 00.178.382c.08.059.244.142.451.041l.7-.341z'/%3E%3C/g%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; } #iubenda-cs-banner .iub-popover { position: absolute !important; top: 24px !important; bottom: 0 !important; left: 0 !important; right: 0 !important; border-radius: 4px !important; background-color: white !important; color: #222 !important; z-index: 2 !important; -webkit-box-shadow: 0 0 32px rgba(0, 0, 0, 0.1) !important; box-shadow: 0 0 32px rgba(0, 0, 0, 0.1) !important; opacity: 0 !important; visibility: hidden !important; -webkit-transform: translateY(24px) !important; -ms-transform: translateY(24px) !important; transform: translateY(24px) !important; -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease !important; transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease !important; -o-transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important; transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important; transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; z-index: 99 !important; pointer-events: none !important; overflow: hidden !important; } #iubenda-cs-banner .iub-popover-header { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; z-index: 1 !important; -webkit-box-shadow: 0 16px 16px #FFF !important; box-shadow: 0 16px 16px #FFF !important; } #iubenda-cs-banner .iub-popover-header &gt; * { padding: 24px !important; padding-bottom: 0 !important; } #iubenda-cs-banner .iub-popover-header-title { font-size: 18px !important; font-weight: bold !important; } #iubenda-cs-banner .iub-popover-header-close { font-size: 24px !important; font-weight: 300 !important; cursor: pointer !important; line-height: 1 !important; position: relative !important; top: -2px !important; } #iubenda-cs-banner .iub-popover-content { font-size: 14px !important; -webkit-box-flex: 1 !important; -ms-flex: 1 !important; flex: 1 !important; font-weight: 300 !important; line-height: 1.5 !important; position: relative !important; } #iubenda-cs-banner .iub-popover-content &gt; div { padding: 0 24px !important; overflow-y: auto !important; height: 100% !important; } #iubenda-cs-banner .iub-popover-content &gt; div:before, #iubenda-cs-banner .iub-popover-content &gt; div:after { content: ""; display: block; height: 24px; } #iubenda-cs-banner .iub-popover-content h3 { margin-bottom: 16px !important; font-weight: bold !important; } #iubenda-cs-banner .iub-popover-content p:not(:last-of-type) { margin-bottom: 16px !important; } #iubenda-cs-banner .iub-popover-content a { text-decoration: underline !important; cursor: pointer !important; opacity: 0.8 !important; } #iubenda-cs-banner .iub-popover-content b, #iubenda-cs-banner .iub-popover-content strong { font-weight: bold !important; } #iubenda-cs-banner .iub-popover-content i, #iubenda-cs-banner .iub-popover-content em { font-style: italic !important; } #iubenda-cs-banner .iub-popover-content:after { position: absolute; content: ""; display: block; height: 24px; pointer-events: none; left: 0; right: 0; bottom: 0; background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white)); background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 100%); background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 100%); } #iubenda-cs-banner.iubenda-cs-default-floating .iub-popover { left: 8px !important; right: 8px !important; } @media (min-width: 640px) { #iubenda-cs-banner.iubenda-cs-default .iub-popover { max-width: 992px !important; margin: 0 auto !important; } #iubenda-cs-banner.iubenda-cs-default.iubenda-cs-top .iub-popover { top: 16px !important; bottom: -16px !important; } #iubenda-cs-banner.iubenda-cs-default.iubenda-cs-bottom .iub-popover { top: -16px !important; bottom: 16px !important; } } #iubenda-cs-banner.iub-popover-visible .iub-popover { opacity: 1 !important; visibility: visible !important; -webkit-transform: translateY(0) !important; -ms-transform: translateY(0) !important; transform: translateY(0) !important; pointer-events: auto !important; } #iubenda-cs-banner.iubenda-cs-overlay:before { content: "" !important; position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-color: rgba(0, 0, 0, 0.5) !important; z-index: 1 !important; pointer-events: auto !important; } #iubenda-cs-banner.iubenda-cs-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; } #iubenda-cs-banner.iubenda-cs-top { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; } #iubenda-cs-banner.iubenda-cs-bottom { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; } #iubenda-cs-banner.iubenda-cs-left { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } #iubenda-cs-banner.iubenda-cs-right { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } #iubenda-cs-banner.iubenda-cs-visible { opacity: 1 !important; visibility: visible !important; } #iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container { pointer-events: auto !important; } #iubenda-cs-banner.iubenda-cs-slidein .iubenda-cs-container { -webkit-transition: -webkit-transform 0.4s ease !important; transition: -webkit-transform 0.4s ease !important; -o-transition: transform 0.4s ease !important; transition: transform 0.4s ease !important; transition: transform 0.4s ease, -webkit-transform 0.4s ease !important; } #iubenda-cs-banner.iubenda-cs-slidein.iubenda-cs-top .iubenda-cs-container { -webkit-transform: translateY(-48px) !important; -ms-transform: translateY(-48px) !important; transform: translateY(-48px) !important; } #iubenda-cs-banner.iubenda-cs-slidein.iubenda-cs-bottom .iubenda-cs-container { -webkit-transform: translateY(48px) !important; -ms-transform: translateY(48px) !important; transform: translateY(48px) !important; } #iubenda-cs-banner.iubenda-cs-slidein.iubenda-cs-visible .iubenda-cs-container { -webkit-transform: translateY(0) !important; -ms-transform: translateY(0) !important; transform: translateY(0) !important; } #iubenda-cs-banner .iubenda-cs-container { position: relative !important; z-index: 2 !important; } #iubenda-cs-banner .iubenda-cs-brand { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; padding: 16px !important; -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } #iubenda-cs-banner .iubenda-cs-brand &gt; div { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } #iubenda-cs-banner .iubenda-cs-brand img { max-width: 192px !important; max-height: 56px !important; } #iubenda-cs-banner .iubenda-cs-content { position: relative !important; z-index: 1 !important; overflow: hidden !important; -webkit-transition: -webkit-transform 0.4s ease !important; transition: -webkit-transform 0.4s ease !important; -o-transition: transform 0.4s ease !important; transition: transform 0.4s ease !important; transition: transform 0.4s ease, -webkit-transform 0.4s ease !important; } #iubenda-cs-banner .iubenda-cs-rationale { position: relative !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } #iubenda-cs-banner .iubenda-cs-close-btn { position: absolute !important; top: -2px !important; padding: 16px !important; right: 0 !important; min-width: 48px !important; height: 48px !important; font-size: 24px !important; line-height: 0 !important; font-weight: lighter !important; cursor: pointer !important; text-align: center !important; } #iubenda-cs-banner .iubenda-cs-close-btn:hover { opacity: 0.5 !important; } #iubenda-cs-banner .iubenda-banner-content { font-weight: 300 !important; margin: 16px !important; margin-bottom: 0 !important; -webkit-box-flex: 1 !important; -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; overflow-y: auto !important; mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, black 16px) !important; -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, black 16px) !important; padding-bottom: 32px !important; } #iubenda-cs-banner .iubenda-banner-content-padded { padding-right: 32px !important; } #iubenda-cs-banner .iubenda-banner-content a { cursor: pointer !important; color: currentColor !important; opacity: 0.7 !important; text-decoration: underline !important; } #iubenda-cs-banner .iubenda-banner-content a:hover { opacity: 1 !important; } #iubenda-cs-banner #iubenda-cs-title { font-weight: bold !important; margin-bottom: 16px !important; } #iubenda-cs-banner .iubenda-cs-opt-group { margin: 16px !important; z-index: 1 !important; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; margin-top: 0 !important; -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } #iubenda-cs-banner .iubenda-cs-opt-group &gt; div { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } @media (min-width: 640px) { #iubenda-cs-banner .iubenda-cs-opt-group { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } #iubenda-cs-banner .iubenda-cs-opt-group-custom { margin-right: auto !important; -ms-flex-item-align: start !important; align-self: start !important; -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } #iubenda-cs-banner .iubenda-cs-opt-group-consent { margin-left: auto !important; -ms-flex-item-align: end !important; align-self: end !important; -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } } @media (max-width: 639px) { #iubenda-cs-banner .iubenda-cs-opt-group { margin: 12px !important; -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } #iubenda-cs-banner .iubenda-cs-opt-group-custom { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } #iubenda-cs-banner .iubenda-cs-opt-group-consent { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } #iubenda-cs-banner .iubenda-cs-opt-group button { -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; padding: 8px 32px !important; border-radius: 64px !important; cursor: pointer !important; font-weight: bold !important; font-size: 100% !important; margin-top: 4px !important; margin-bottom: 4px !important; text-align: center !important; } #iubenda-cs-banner .iubenda-cs-opt-group button:focus { opacity: 0.8 !important; } #iubenda-cs-banner .iubenda-cs-opt-group button:hover { opacity: 0.5 !important; } @media (min-width: 640px) { #iubenda-cs-banner .iubenda-cs-opt-group button:not(:last-of-type) { margin-right: 8px !important; } } @media (max-width: 639px) { #iubenda-cs-banner .iubenda-cs-opt-group button { padding: 8px 24px !important; width: 100% !important; display: block; text-align: center !important; margin: 6px 3px !important; } } #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand { margin: 0 -8px 0 !important; } @media (max-width: 991px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand { margin: -8px -8px 0 !important; } } @media (min-width: 992px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand div { margin: 0 auto !important; width: calc(992px - 32px) !important; } } @media (max-width: 991px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand div { margin: 0 8px !important; } } #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-container { width: 100% !important; } @media (min-width: 992px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-rationale { width: 992px !important; margin: 16px auto !important; } } @media (max-width: 991px) { #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-content { padding: 8px !important; } } #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-brand { margin: -8px -8px 0 !important; } #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-brand div { margin: 8px !important; } @media (min-width: 992px) { #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-container { width: 992px !important; } } @media (max-width: 991px) { #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center.iubenda-cs-top .iubenda-cs-container, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center.iubenda-cs-bottom .iubenda-cs-container { width: 100% !important; } } @media (min-width: 640px) { #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-container, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-container, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-container { width: 480px !important; } } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group &gt; div, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group &gt; div, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group &gt; div { width: 100% !important; } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group button, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group button, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group button { display: block !important; width: 100% !important; text-align: center !important; } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group-custom, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group-custom, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group-custom { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-top):not(.iubenda-cs-center) .iubenda-cs-opt-group-consent, #iubenda-cs-banner.iubenda-cs-default-floating:not(.iubenda-cs-bottom):not(.iubenda-cs-center) .iubenda-cs-opt-group-consent, #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-center:not(.iubenda-cs-top):not(.iubenda-cs-bottom) .iubenda-cs-opt-group-consent { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-content { -webkit-box-shadow: 0 8px 48px rgba(0, 0, 0, 0.15) !important; box-shadow: 0 8px 48px rgba(0, 0, 0, 0.15) !important; padding: 8px !important; } @media (min-width: 992px) { #iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-content { border-radius: 4px !important; margin: 16px !important; } } #iubenda-cs-banner.iubenda-cs-fix-height .iubenda-cs-container, #iubenda-cs-banner.iubenda-cs-fix-height .iubenda-cs-content, #iubenda-cs-banner.iubenda-cs-fix-height .iubenda-cs-rationale { height: 100% !important; } #iubenda-cs-banner.iubenda-cs-fix-height.iubenda-cs-default-floating .iubenda-cs-content { height: calc(100% - 32px) !important; } #iubenda-cs-banner.iubenda-cs-fix-height .iubenda-cs-brand img { max-width: 75% !important; } #iubenda-cs-banner .iubenda-cs-content { background-color: #000000 !important; color: #FFFFFF !important; } #iubenda-cs-banner .iubenda-cs-opt-group { color: #000000 !important; } #iubenda-cs-banner .iubenda-cs-opt-group button { background-color: rgba(255, 255, 255, 0.1) !important; color: #FFFFFF !important; } #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-btn-primary { background-color: #0073CE !important; color: #FFFFFF !important; } /* ----------------- MOBILE SDK ----------------- */ .iubenda-mobile-sdk #iubenda-cs-banner.iubenda-cs-visible { justify-content: center!important; align-items: center!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-container { max-height: 100%!important; display: flex!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-container .iubenda-cs-content { height: auto!important; border-radius: 0!important; margin: 0!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-opt-group { text-align: center!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-close-btn { display: none!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-rationale { display: flex!important; flex-direction: column!important; height: 100%!important; } .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-banner-content { flex: 1; overflow-y: auto!important; margin: 0!important; padding: 16px 16px 48px!important; max-height: inherit!important; mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, black 15%) !important; -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, black 15%) !important; } @media (min-width: 992px) { .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-banner-content, .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-opt-group { margin: 24px!important; } .iubenda-mobile-sdk #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-rationale { width: 100% !important; margin: 0 !important; } } .no-banner #iubenda-cs-banner { display: none!important; } /** fix scrolling in iOS 10 **/ .iubenda-mobile-sdk #iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container, .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-container .iubenda-cs-content, .iubenda-mobile-sdk #iubenda-cs-banner .iubenda-cs-rationale { height: 100%!important; } .iubenda-mobile-sdk #iubenda-iframe .iubenda-iframe-top-container { position: relative!important; } .iubenda-mobile-sdk #iubenda-iframe #iab-container { position: absolute!important; top: 0!important; bottom: 0!important; left: 0!important; right: 0!important; } /** iframe **/ .iubenda-mobile-sdk #iubenda-iframe #iubenda-iframe-popup { height: 100%!important; width: 100%!important; } .iubenda-mobile-sdk #iubenda-iframe .iubenda-iframe-close-btn { display: none!important; } .iubenda-mobile-sdk #iubenda-iframe { background-color: transparent!important; } /* Fix cookie policy trimming on older Android devices */ .iubenda-mobile-sdk #iubenda-iframe iframe { background-color: transparent!important; position:absolute!important; bottom:0!important; top:0!important; } .iubenda-mobile-sdk #iubenda-iframe .iubenda-iframe-spinner { top: 50px !important; } /* Fix TCF widget overlapping footer in older Android devices */ .iubenda-mobile-sdk #iubenda-iframe .iubenda-iframe-footer { z-index: 9999!important; }</code></pre> <p>config.json:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>{ "banner": { "acceptButtonDisplay": "true", "customizeButtonDisplay": "true", "backgroundColor": "#000000", "textColor": "#FFFFFF", "acceptButtonColor": "#FD1D1D", "acceptButtonCaptionColor": "white", "customizeButtonColor": "transparent", "customizeButtonCaptionColor": "#FFF" } }</code></pre> <h4 class="wp-block-heading">Opzione TCF</h4> <p>A differenza della versione standard della Cookie Solution, <strong>l’<a href="#accessing-to-iab-transparency-and-consent-framework-settings">opzione TCF</a> è abilitata per impostazione predefinita nell’SDK</strong>. Se non esegui annunci personalizzati di terze parti e desideri disabilitare il supporto TCF, imposta <code>enableTcf: false</code> nel file config.json.</p> <p>Esempio:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>{ … enableTcf: false, "banner": { … } }</code></pre> <h4 class="wp-block-heading"> Parametri “invalidateConsentBefore” e “expireAfter”</h4> <p><code>invalidateConsentBefore</code> Accetta una data e, se valida, controlla se è già stata espressa una preferenza. Quando il timestamp è precedente al giorno della data configurata, la preferenza non verrà più considerata. Formati accettati: gg/MM/aaaa &#8211; aaaa/MM/gg &#8211; gg-MM-aaaa &#8211; aaa-MM-gg &#8211; gg.MM.aaaa &#8211; aaaaa.MM.gg</p> <p><code>expireAfter</code> Se valido, il numero di giorni del timestamp del consenso verrà confrontato con il valore intero del parametro <code>expireAfter</code>. Se la data del consenso è passata, i dati sul dispositivo verranno cancellati (valore predefinito: 360 giorni)</p> <p>Esempio:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>{ … "invalidateConsentBefore": "08/11/2022", "expireAfter": 100, … } }</code></pre> <h3 class="wp-block-heading">Mostrare l’interfaccia utente di consenso</h3> <table class="table table-bordered my-4"> <thead> <tr> <th>Metodo</th> <th>Descrizione</th> </tr> </thead> <tbody> <tr> <td>askConsent()</td> <td>Presenta l’interfaccia utente di consenso all’avvio dell’app</td> </tr> <tr> <td>openPreferences()</td> <td>(già editConsent, ora obsoleto)<br>Consente agli utenti di modificare le preferenze relative al consenso quando è già stato dato. Se non è stato espresso, viene visualizzata la richiesta per indicare le preferenze di consenso.</td> </tr> </tbody> </table> <p>Per presentare l’interfaccia utente di consenso all’avvio dell’app, chiama <code>IubendaCMP.askConsent()</code> nel metodo <code>onCreate</code> dell’attività principale:</p> <ul class="wp-block-list"> <li>se non c’è connessione Internet, la chiamata non avrà effetto (a condizione che <code>skipNoticeWhenOffline</code> non sia impostato su false); </li> <li>se il consenso è già stato dato, la chiamata non avrà effetto; </li> <li>se il consenso non è stato ancora dato ed è disponibile la connessione Internet, <code>IubendaCMP.askConsent()</code> mostrerà la richiesta per indicare le preferenze di consenso.</li> </ul> <p>Tieni presente che se hai impostato <code>forceConsent</code> su false, <code>IubendaCMP.askConsent()</code> non avrà effetto se l’utente ignora la richiesta di consenso dopo il primo lancio. Per mostrare di nuovo l’interfaccia utente di consenso, dovrai chiamare <code>IubendaCMP.openPreferences()</code>. </p> <p>Esempio:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>public class DemoActivity extends AppCompatActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // automatically show the consent popup when needed IubendaCMP.askConsent(this); } }</code></pre> <p>Quindi, se vuoi aumentare al massimo i consensi:</p> <ul class="wp-block-list"> <li>imposta <code>forceConsent</code> su true e </li> <li>chiama <code>IubendaCMP.askConsent()</code></li> </ul> <p>Invece, se preferisci dare agli utenti la possibilità di ignorare la richiesta di consenso senza mostrarla di nuovo ogni volta che viene richiamato <code>IubendaCMP.askConsent()</code>:</p> <ul class="wp-block-list"> <li>imposta <code>forceConsent</code> su false</li> <li>chiama <code>IubendaCMP.askConsent()</code>, tenendo presente che non avrà effetto dopo il primo lancio</li> <li>per chiedere di nuovo il consenso, chiama <code>IubendaCMP.openPreferences()</code></li> </ul> <p>Note su <code>IubendaCMP.openPreferences()</code><strong>:</strong></p> <ul class="wp-block-list"> <li>se il consenso non è già stato dato, <code>IubendaCMP.openPreferences()</code> aprirà la richiesta di consenso.</li> <li>Se il consenso è stato dato, <code>IubendaCMP.openPreferences()</code> consentirà agli utenti di modificare le preferenze relative al consenso: <ul class="wp-block-list"> <li>Se <code>"perPurposeConsent": true</code>, mostrerà le preferenze <a href="https://www.iubenda.com/en/help/1205#per-category-consent">per categoria</a>.</li> <li>Se <code>"perPurposeConsent": false</code>, mostrerà le preferenze relative al consenso TCF.</li> <li>Invece, se <code>"perPurposeConsent": false</code> e <code>"enableTcf": false</code>, mostrerà la Cookie policy.</li> </ul> </li> </ul> <p>Per controllare quando mostrare la richiesta di consenso, puoi utilizzare semplicemente <code>IubendaCMP.openPreferences()</code>, ma dovrai comunque verificare se il consenso è stato dato. </p> <h3 class="wp-block-heading">Interfaccia utente di consenso personalizzata</h3> <p>Per chiedere il consenso agli utenti senza mostrare il popup puoi utilizzare un’attività personalizzata. In questo caso, puoi sfruttare i seguenti metodi di <code>IubendaCMP</code>:</p> <table class="table table-bordered my-4"> <thead> <tr> <th>Metodo</th> <th>Descrizione</th> </tr> </thead> <tbody> <tr> <td>accept()</td> <td>(già acceptDefaultConsent, ora obsoleto)<br>Imposta il consenso predefinito in background</td> </tr> <tr> <td>reject()</td> <td>Rifiuta il consenso predefinito in background</td> </tr> <tr> <td>openTcfPreferences()</td> <td>(già showConsentPreferences, ora obsoleto)<br>Apre un popup per impostare le preferenze relative al consenso TCF</td> </tr> <tr> <td>openTcfVendorsPreferences()</td> <td>(già showVendorsPreferences, ora obsoleto)<br>Apre un popup per impostare le preferenze relative ai vendor</td> </tr> <tr> <td>openCookiePolicy()</td> <td>(già showCookiePolicy, ora obsoleto)<br>Apre un popup che mostra la Cookie policy</td> </tr> <tr> <td>shouldGetConsent()</td> <td>Chiama questa funzione per verificare se devi chiedere il consenso dell’utente o se è già stata espressa una preferenza</td> </tr> <tr> <td>getConfig()</td> <td>Recupera la configurazione inizializzata nella classe Application</td> </tr> <tr> <td>isInitialized()</td> <td>Se true, l’SDK di iubenda viene inizializzato correttamente</td> </tr> <tr> <td>isPurposeEnabled(id)</td> <td>Se perPurposeConsent è true, a sua volta restituisce true in caso di consenso dato per la finalità specificata nel parametro numerico <code>id</code>.</td> </tr> <tr> <td>isConsentGiven()</td> <td>Se <code>perPurposeConsent</code> è <code>false</code>, restituisce <code>true</code> in caso di consenso accettato, altrimenti restituisce <code>false</code></td> </tr> <tr> <td>clearData()</td> <td>Cancella i segnali di consenso CMP raccolti nella precedente interazione utente</td> </tr> <tr> <td>shouldGetConsentForInvalidateConsentBefore()</td> <td>Chiama questa funzione per verificare se devi chiedere il consenso dell’utente quando il timestamp è precedente al giorno del parametro di data <code>invalidateConsentBefore</code> configurato</td> </tr> <tr> <td>getVendorList()</td> <td>Restituisce l’elenco dei vendor. Se il parametro facoltativo <code>version</code> non è impostato, restituirà l’ultimo elenco dei vendor. Considera il parametro <code>CustomUIListener</code> per i risultati di successo ed errore</td> </tr> <tr> <td>getUserPreferences()</td> <td>Restituisce le preferenze utente salvate, comprese quelle relative la consenso</td> </tr> <tr> <td>setUserPreferences()</td> <td>Imposta le preferenze utente con aggiunte relative a consenso e dati TCF dal servizio web</td> </tr> </tbody> </table> <p>Note su <code>IubendaCMP.accept()</code><strong>:</strong></p> <ul class="wp-block-list"> <li>se l’utente non ha espresso alcuna preferenza, viene accettato tutto.</li> <li>Questo metodo è consigliato quando si sviluppa un’interfaccia utente personalizzata che non si basa sull’informativa predefinita utilizzata dall’SDK.</li> </ul> <p>Inoltre, si consiglia di aggiungere un listener per rilevare quando l’utente ha dato il consenso durante la chiamata dei metodi <code>open*</code>.</p> <p>Esempio:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>public class ConsentActivity extends Activity implements IubendaCMPChangeListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_consent); } @Override protected void onPostCreate(@Nullable Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); IubendaCMP.registerChangeListener(this); } @Override protected void onDestroy() { IubendaCMP.unregisterChangeListener(this); super.onDestroy(); } public void onAcceptClick(View view) { IubendaCMP.accept(); finish(); } public void onOptionsClick(View view) { IubendaCMP.openTcfPreferences(this); } @Override public void onConsentChanged() { if (IubendaCMP.isConsentGiven()) finish(); } }</code></pre> <h3 class="wp-block-heading">Rilevamento delle modifiche</h3> <p>Se necessario, puoi registrare un listener per rilevare le modifiche del consenso utente chiamando <code>IubendaCMP.registerChangeListener()</code>, ad esempio all’interno del metodo <code>onCreate</code> della propria applicazione o attività.</p> <p>Per rimuovere il listener, puoi chiamare <code>IubendaCMP.unregisterChangeListener()</code>, ad esempio all’interno di <code>onDestroy()</code>.</p> <p>I listener vengono acquisiti come un riferimento debole.</p> <h3 class="wp-block-heading">Accesso alle impostazioni Transparency and Consent Framework di IAB</h3> <p>Puoi accedere alle impostazioni <a href="https://www.iubenda.com/en/help/7440">TCF di IAB</a>, come la stringa di consenso codificata, direttamente dalle specifiche IAB o tramite i metodi offerti da un oggetto <code>CMPStorage</code>. Per ottenere un’istanza di archiviazione, chiama <code>IubendaCMP.getStorage()</code>.</p> <h4 class="wp-block-heading">Impostazioni disponibili getter</h4> <table class="table table-bordered my-4"> <thead> <tr> <th>Metodo</th> <th>Descrizione</th> </tr> </thead> <tbody> <tr> <td>getConsentString()</td> <td>Restituisce la stringa di consenso</td> </tr> <tr> <td>getSubjectToGdpr()</td> <td>Restituisce l’impostazione SubjectToGdpr</td> </tr> <tr> <td>getCmpPresentValue()</td> <td>Restituisce true se è presente una CMP</td> </tr> <tr> <td>getVendorsString()</td> <td>Restituisce la stringa binaria relativa ai vendor</td> </tr> <tr> <td>getPurposesString()</td> <td>Restituisce la stringa binaria relativa alle finalità</td> </tr> <tr> <td>isPurposeConsentGivenForPurposeId(purposeId)</td> <td>Restituisce se il consenso è stato dato per l’ID di finalità trasmesso</td> </tr> <tr> <td>isVendorConsentGivenForVendorId(vendorId)</td> <td>Restituisce se il consenso è stato dato per l’ID di vendor trasmesso</td> </tr> <tr> <td>getConsentTimestamp</td> <td>Restituisce il timestamp del consenso (a partire da v1.3.2)</td> </tr> <tr> <td>isPreferenceExpressed()</td> <td>Restituisce true se l’SDK rileva una preferenza valida già memorizzata. “valid” indica che se la preferenza viene invalidata da <code>invalidateConsentBefore</code>, allora il metodo dovrebbe restituire <code>false</code></td> </tr> </tbody> </table> <p>Per ulteriori informazioni sul TCF e sulle relative impostazioni avanzate, come la possibilità di limitare le finalità e determinare la base giuridica applicabile (<strong>consenso e/o legittimo interesse</strong>), leggi la nostra <a href="https://www.iubenda.com/en/help/7440">guida al TCF</a>.</p> <div class="my-4 rounded px-3 pt-3 pb-1 bg-fade"> <h5 class="my-2">Google Ads e consenso non dato</h5> <p>Come spiegato nella <a href="https://support.google.com/admanager/answer/9805023?hl=en">documentazione di Google</a> alla sezione “Requisiti per pubblicare annunci non personalizzati”, Google non supporta i casi in cui il consenso è stato negato, neanche per gli annunci non personalizzati. Di conseguenza, non viene pubblicato nessun tipo di annuncio.</p> </div> <h3 class="wp-block-heading">Inizializzazione delle librerie che non aderiscono al TCF di IAB</h3> <p>Per le librerie di terze parti che non aderiscono direttamente al Transparency and Consent Framework di IAB, è possibile che debbano essere inizializzate separatamente a seconda dello stato e delle preferenze di consenso.</p> <p>A tale scopo, puoi implementare un listener per il rilevamento delle modifiche nella classe Application e chiamare <code>IubendaCMP.isConsentGiven()</code> e altri metodi per valutare lo stato del consenso.</p> <p>Esempio:</p> <pre class="wp-block-preformatted prettyprint linenums js-code">public class MyApplication extends Application implements IubendaCMPChangeListener { @Override public void onCreate() { super.onCreate(); IubendaCMPConfig config = IubendaCMPConfig.builder() .gdprEnabled(true) .siteId("12345678") .cookiePolicyId("ABCDE") .googleAds(true) .build(); IubendaCMP.initialize(this, config); IubendaCMP.registerChangeListener(this); initializeLibraries(); } private void initializeLibraries() { if (IubendaCMP.isConsentGiven()) { if (IubendaCMP.isGooglePersonalized()) { // enable Google personalized ADs } else { // disable Google personalized ADs } // setup other libraries } } @Override public void onConsentChanged() { initializeLibraries(); } }</pre> <h3 class="wp-block-heading">Connessione assente ed errori</h3> <p>È necessaria una connessione Internet per mostrare il popup di consenso e generare o aggiornare di conseguenza la stringa di consenso nella libreria, mentre l’ultima stringa di consenso è sempre disponibile nell’archiviazione locale tramite <code>CMPStorage</code>.</p> <p>Per impostazione predefinita, il metodo <code>askConsent</code> controlla se è presente una connessione Internet prima di lanciare il popup. Se non c’è connessione, il popup non viene mostrato, ma verrà presentato al lancio successivo.</p> <p>Se si verifica un errore durante il flusso di consenso, invece, viene mostrato un messaggio di errore con l’opzione per riprovare o chiudere il popup. In questo caso, l’impostazione <code>forceConsent(true)</code> permette di mostrare di nuovo il popup se non è stato dato alcun consenso.</p> <h3 class="wp-block-heading">Preferenze relative al consenso su dispositivi diversi</h3> <p>Leggi <a href="https://www.iubenda.com/en/help/23122">questa guida</a> per scoprire come implementare l’API di Consent Database per sincronizzare le preferenze relative al consenso tra siti e app per ogni utente autenticato.</p> <h3 class="wp-block-heading">Log delle modifiche</h3> <h4 class="wp-block-heading">2.6.9</h4> <ul class="wp-block-list"> <li>Supporto aggiunto per TCF 2.2</li> </ul> <h4 class="wp-block-heading">2.6.7</h4> <ul class="wp-block-list"> <li>Metodo <code>reject()</code> aggiunto alla classe IubendaCMP</li> </ul> <h4 class="wp-block-heading">2.6.5</h4> <ul class="wp-block-list"> <li>Metodi <code>landscapeWidth</code>, <code>landscapeHeight</code>, <code>portraitWidth</code>, <code>portraitHeight</code> aggiunti a <code>IubendaCMPConfiguration</code></li> </ul> <h4 class="wp-block-heading">2.6.4</h4> <li>Metodo <code>getPreferencesJson</code> aggiunto alla classe <code>IubendaCMP</code></li> </ul> <h4 class="wp-block-heading">2.6.3</h4> <ul class="wp-block-list"> <li>Pulsante (×) o di chiusura aggiunto per il popup di consenso</li> <li>Metodo <code>dismissColor</code> aggiunto alla classe <code>IubendaCMPConfig</code> per la personalizzazione del pulsante di chiusura</li> </ul> <h4 class="wp-block-heading">2.6.2</h4> <ul class="wp-block-list"> <li>Funzioni <code>getVendorList()</code>, <code>getUserPreferences()</code> e <code>setUserPreferences()</code> aggiunte per l’interfaccia utente personalizzata</li> </ul> <h4 class="wp-block-heading">2.6.1</h4> <ul class="wp-block-list"> <li>Metodo <code>isGooglePersonalized()</code> diventato obsoleto</li> </ul> <h4 class="wp-block-heading">2.6.0</h4> <ul class="wp-block-list"> <li>Metodo <code>proxyUrl(baseUrl)</code> aggiunto per riscrivere l’URL utilizzato per incorporare la Cookie Solution</li> </ul> <h4 class="wp-block-heading">2.5.9</h4> <ul class="wp-block-list"> <li>Funzione <code>saveConsent(preferencesJson,timestamp)</code> corretta</li> </ul> <h4 class="wp-block-heading">2.5.8</h4> <ul class="wp-block-list"> <li>Metodo <code>isPreferenceExpressed()</code> aggiunto</li> <li>Metodo <code>isConsentGiven()</code> corretto</li> </ul> <h4 class="wp-block-heading">2.5.7</h4> <ul class="wp-block-list"> <li>Opzione <code>expireAfter</code> aggiunta a <code>config.json</code> per eseguire il confronto con la data di consenso salvata e cancellare i dati se necessario</li> </ul> <h4 class="wp-block-heading">2.5.6</h4> <ul class="wp-block-list"> <li>Parametro <code>invalidateConsentBefore</code> aggiunto alla classe IubendaCMP per eseguire il confronto con la data di consenso salvata e mostrare nuovamente la richiesta di consenso se necessario</li> <li>Funzione <code>shouldGetConsentForInvalidateConsentBefore</code>() aggiunta alla classe IubendaCMP per chiamare l’interfaccia utente personalizzata</li> <li>Supporto di Objective-C aggiunto per il parametro <code>IubendaCMP.storage</code></li> </ul> <h4 class="wp-block-heading">2.5.5</h4> <ul class="wp-block-list"> <li>Parametro <code>BannerPosition</code> aggiunto alla classe IubendaCMPConfiguration per personalizzare la posizione del banner di consenso (valore predefinito: CENTER)</li> </ul> <h4 class="wp-block-heading">2.5.3</h4> <ul class="wp-block-list"> <li>Stringa di consenso scaduta corretta con cancellazione dopo 360 giorni</li> </ul> <h4 class="wp-block-heading">2.5.2</h4> <ul class="wp-block-list"> <li>Utilizzo consentito di <code>forceConsent=true</code> con <code>enableTcf=false</code></li> </ul> <h4 class="wp-block-heading">2.5.1</h4> <ul class="wp-block-list"> <li>Problema risolto presente nella versione 2.5.0 che causava il funzionamento scorretto di <code>enableTcf=false</code> e <code>forceConsent=false</code></li> </ul> <h4 class="wp-block-heading">2.5.0</h4> <ul> <li>Metodo <code>IubendaCMP.clearData()</code> aggiunto</li> </ul> <h4 class="wp-block-heading">2.4.0</h4> <ul class="wp-block-list"> <li>Metodi <code>acceptDefaultConsent</code>, <code>editConsent</code>, <code>showConsentPreferences</code>, <code>showVendorsPreferences</code>, <code>showCookiePolicy</code> rinominati rispettivamente in <code>accept</code>, <code>openPreferences</code>, <code>openTcfPreferences</code>, <code>openTcfVendorsPreferences</code>, <code>openCookiePolicy</code></li> </ul> <h4 class="wp-block-heading">2.3.5</h4> <ul class="wp-block-list"> <li>Debugging delle viste web abilitato solo in modalità di debug</li> </ul> <h4 class="wp-block-heading">2.3.4</h4> <ul class="wp-block-list"> <li>Registrazione dei log migliorata</li> </ul> <h4 class="wp-block-heading">2.3.3</h4> <ul class="wp-block-list"> <li>Taglio della parte inferiore del popup risolto per alcuni dispositivi</li> </ul> <h4 class="wp-block-heading">2.3.2</h4> <ul class="wp-block-list"> <li>Configurazione proguard aggiunta nella libreria</li> </ul> <h4 class="wp-block-heading">2.3.1</h4> <ul class="wp-block-list"> <li>Metodi <code>isPurposeConsentGivenForPurposeId(purposeId)</code> e <code>isVendorConsentGivenForVendorId(vendorId)</code> aggiunti</li> </ul> <h4 class="wp-block-heading">2.3.0</h4> <ul class="wp-block-list"> <li>Opzione <code>preventDismissWhenLoaded</code> aggiunta</li> <li>Algoritmo aggiornato per le dimensioni del popup</li> </ul> <h4 class="wp-block-heading">2.2.3</h4> <ul class="wp-block-list"> <li>Memorizzazione in cache della configurazione in un file e ripristino dalla cache quando non è impostata alcuna configurazione (evita l’arresto anomalo se <code>ConsentActivity</code> viene ripristinato prima dell’inizializzazione dell’SDK)</li> </ul> <h4 class="wp-block-heading">2.2.1</h4> <ul class="wp-block-list"> <li>Dimensioni del popup migliorate su schermi di diverse dimensioni</li> </ul> <h4 class="wp-block-heading">2.2.0</h4> <ul class="wp-block-list"> <li>Supporto aggiunto per <a href="https://help.iubenda.com/en/help/23271">Transparency and Consent Framework v2.0</a>, il <a href="https://help.iubenda.com/en/help/3831#reject-button">pulsante Rifiuta</a> e il <a href="https://help.iubenda.com/en/help/1205#per-category-consent">consenso per categoria</a></li> <li>Metodo <code>hasConsent</code> diventato obsoleto e sostituito con <code>isConsentGiven</code></li> <li>Funzione <code>shouldGetConsent</code> introdotta per implementazioni più personalizzate</li> </ul> <h4 class="wp-block-heading">2.1.0</h4> <ul class="wp-block-list"> <li>Arresti anomali risolti nelle versioni precedenti di Android</li> </ul> <h4 class="wp-block-heading">2.0.0</h4> <ul class="wp-block-list"> <li>Opzione <code>csVersion</code> aggiunta</li> </ul> <h4 class="wp-block-heading">1.3.2</h4> <ul class="wp-block-list"> <li>Timestamp aggiunto a <code>saveConsent()</code> e <code>CMPStorage</code></li> </ul> <h4 class="wp-block-heading">1.3.1</h4> <ul class="wp-block-list"> <li>Opzioni <code>cssFile</code> e <code>jsonFile</code> introdotte</li> </ul> <h4 class="wp-block-heading">1.3.0</h4> <ul class="wp-block-list"> <li>Opzioni <code>cssContent</code> e <code>jsonContent</code> introdotte</li> <li>Tocco all’esterno del popup disabilitato</li> </ul> <h4 class="wp-block-heading">1.2.0</h4> <ul class="wp-block-list"> <li>Possibilità di gestire il ridimensionamento delle viste web quando si torna al primo livello</li> <li>Riferimento dell’SDK alla versione esatta della Cookie Solution</li> </ul> <h4 class="wp-block-heading">1.1.2</h4> <ul class="wp-block-list"> <li>Introdotti il controllo della connessione e l’opzione <code>skipNoticeWhenOffline</code></li> </ul> <h4 class="wp-block-heading">1.1.1</h4> <ul class="wp-block-list"> <li>Nuovo valore predefinito introdotto per <code>forceConsent</code></li> </ul> <h4 class="wp-block-heading">1.1.0</h4> <ul class="wp-block-list"> <li>Opzione <code>acceptIfDismissed</code> introdotta</li> </ul> <h4 class="wp-block-heading">1.0.0</h4> <ul class="wp-block-list"> <li>Rilascio iniziale</li> </ul> <!--"text-center py-5 hide-from-amp"> <a class="btn btn-xl btn-primary text-white px-5 py-3 text-lg sans-serif" href="https://iubenda.link/android">Download the SDK for Android</a> </div--> <h3 data-toc-skip="">Consulta anche</h3> <ul class="wp-block-list"> <li><a href="https://www.iubenda.com/en/help/1205">Come configurare Privacy Controls and Cookie Solution (guida avanzata)</a></li> <li><a href="https://www.iubenda.com/en/help/23122">Come sincronizzare le preferenze relative al consenso tra siti e app (guida all’SDK)</a></li> <li><a href="https://www.iubenda.com/en/help/21982">Come salvare le preferenze di consenso ai cookie (integrazione di Privacy Controls and Cookie Solution e Consent Database)</a></li> </ul> <p> </p> </div> <div class="help-tpl__still-questions-section mt-5 pt-5"> <h4 class="mb-3">Hai ancora domande?</h4> <a href="/it/help/23188" class="btn btn-dark-gray txt-dark d-block d-lg-inline-block mb-2 mb-lg-0">Partecipa a uno dei nostri webinar gratuiti</a> <a href="mailto:info@iubenda.com" class="btn btn-dark-gray txt-dark d-block d-lg-inline-block mb-2 mb-lg-0" data-elevio-module="4" data-elevio-style="nothing">Scrivici via email</a> <a href="#" class="btn btn-dark-gray txt-dark d-block d-lg-inline-block" data-elevio-module="9" data-elevio-style="nothing">Live chat</a> </div> </div> <!-- /.content --> </div> </div> </section> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ (function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){ (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t); e=d.getElementsByTagName(t)[0];s.async=1;s.nonce='08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da'; s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st'); _st('install','mvF4xAYwSHJ9YPypgTYd','2.0.0', { install: { hooks: { query_filter: function(query) { query.setFilterDataByDocumentTypeSlugAndFilterField('page', 'tags', { values: ['it'], type: "and" }); return query; } } } }); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ HelpUtils.activateToc("#toc", $("[data-toc-activator]")); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ $(document).ready(function() { /** consent solution mapping for help compliance course form **/ if ($('#help_compliance_course_form').length > 0) { _iub.cons_instructions.push(['load', { submitElement: 'help_compliance_course_submit', form: { selector: 'help_compliance_course_form', map: { subject: { email: 'email' } } }, consent: { preferences: { 'help_compliance_course_subscription': true }, legal_notices: [ { identifier: 'privacy_policy' } ] } }]); } $('.btn-aside').click(function(){ $('.doc_aside').toggleClass('show'); }); $('.doc_aside li.has_child').click(function(e){ if (e.target.nodeName === 'A') { return; } e.preventDefault(); e.stopPropagation(); $(this) .toggleClass('active'); }); $('.navbar-nav a').click(function(){ var li = $(this).closest('li'); if(!li.find('ul').length) { var parent = $('.doc_aside'); if(parent.hasClass('show')) parent.removeClass('show'); } }); $('.toc-button').click(function(){ $(this).toggleClass('clicked'); if($(this).hasClass('clicked')) $('[data-toggle=toc]').show(); else $('[data-toggle=toc]').hide(); }); exposeFideFunctions({ incorporationBetaEnabled: false, loginUrl: "/it/login?fide_user=true&for=custom_do", companyIncorporationsPath: "/it/costituzione/srl", isLoggedIn: false }); initializeFideBtns(); if ( $('#toolbox-accordion').length > 0) { var accordionConteiner = $('#toolbox-accordion'); $(accordionConteiner).find('.card p .btn').each(function buttonClickHandler() { $(this).on('click', function(e) { e.preventDefault(); var card = $(this).parents(':eq(2)'); var autoCheckOutLink = HelpUtils.createAutoCheckOutLink(card); location.href = '/pricing'+ autoCheckOutLink; }) }); } var currentAnchor = null; $('h2[id],h3[id]').hover( function(){ var el = $(this); if(currentAnchor) currentAnchor.remove(); currentAnchor = $('<a href="#'+el.attr('id')+'" class="a-anchor-inline ml-3"><i class="i-link"></i></a>').appendTo(el); }, function(){ if(currentAnchor) currentAnchor.remove(); } ); HelpUtils.activatePopovers(); HelpUtils.readAndCreateTheCheckBoxMapForCountries(); $('.button-expand').click(function(e) { var perCountryTable = $(e.target.parentElement.parentElement).clone(); var modalTitle = $('.country-table').data('title'); perCountryTable.find('.button-expand').remove(); Modal.dialog(perCountryTable[0].outerHTML, { title: modalTitle, size: 'full' }); setTimeout(function loadCheckboxesData() { HelpUtils.updateCheckBoxFromMap('.modal-dialog'); HelpUtils.activatePopovers(); }, 1); }); $('body').on('click', '.country-table form.countries label', function(e) { e.preventDefault(); }); $('body').on('change', '.country-table form.countries input', function(e) { var className = $(this).attr('class'); HelpUtils.updateCheckBoxMap(e); $('table .' + className).toggle($(this).is(':checked')); }); }).on('show.bs.modal', '.modal', function () { $('.modal-body .table th').attr('style', 'transform: translateY(0px);'); $('.modal').scroll(function() { if($('.modal .table-first-col-fixed').length > 0) { if ($('.modal').offset().top - $('.modal .table-first-col-fixed').offset().top > 0) { $('.modal .table-first-col-fixed th').css('transform', 'translateY(' + ($('.modal').offset().top - $('.modal .table-first-col-fixed').offset().top) + 'px)'); } else { $('.modal .table-first-col-fixed th').css('transform', 'translateY(0)'); } } }); }).on('hide.bs.modal','.modal', function () { HelpUtils.updateCheckBoxFromMap('.container'); }); //]]> </script> <script src="/assets/site/dropdown_component-02baa9e201b38bd30902.js" nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"></script> <footer class="iub-footer bg-light-gray text-sm"> <div class="container"> <div class="row line-between-columns gutter-lg"> <div class="col-md-6 col-sm-12 mt-5 mb-5"> <div class="mb-3"> <h4 class="text-default text-uppercase">Prodotti e servizi</h4> <p class="text-default">Compliance per siti web e app</p> </div> <div class="row justify-content-between mb-3"> <div class="col-lg mb-4 mb-lg-0"> <ul class="list-unstyled mb-3 pl-2"> <li><a href="/it/generatore-di-privacy-e-cookie-policy">Generatore di Privacy e Cookie Policy</a></li> <li><a href="/it/cookie-solution">Privacy Controls and Cookie Solution</a></li> <li><a href="/it/generatore-termini-e-condizioni">Generatore di Termini e Condizioni</a></li> <li><a href="/it/consent-solution">Consent Database</a></li> <li><a href="/it/internal-privacy-management">Registro delle attività di trattamento dei dati</a></li> <li><a href="/it/whistleblowing-management-tool">Whistleblowing Management Tool</a></li> <li><a href="https://www.iubenda.com/it/help/159733-data-subject-rights-management-tool">Data Subject Rights Management Tool</a></li> <li><a href="/it/newsletter-opt-in-booster">Newsletter Opt-in Booster</a></li> <li><a href="https://www.iubenda.com/stats/">iubenda Stats </a></li> </ul> </div> </div> <div class="mb-3"> <ul class="list-unstyled mb-0"> <li class="list-inline-item d-block d-md-inline-block mr-md-0 mb-md-2"> <a href="/it/prezzi" class="btn btn-sm btn-outline-primary d-block">Prezzi</a> </li> <li class="list-inline-item d-block d-md-inline-block mr-md-0 mb-md-2"> <a href="https://www.iubenda.com/it/scan" class="btn btn-sm btn-outline-primary d-block">Scansione gratuita del sito</a> </li> </ul> </div> <p>Su questo sito utilizziamo una selezione di recensioni positive provenienti da clienti e partner reali. Le recensioni sono state modificate per adattarsi meglio al contenuto di ogni pagina, senza alterarne il significato originale. Trovi le recensioni complete su iubenda su Capterra, Trustpilot e G2. Per maggiori dettagli su come raccogliamo e utilizziamo le recensioni, <a href="https://www.iubenda.com/help/166665" target="_blank"><u>clicca qui</u></a>.</p> </div> <div class="col-md-6 col-sm-12 mt-5 mb-5 footer-right"> <div class="row mb-4"> <div class="col mb-4"> <h4 class="text-default text-uppercase mb-3">Azienda</h4> <ul class="list-unstyled mb-3 pl-2 text-xs"> <li class="mb-1"><a class="bg-gray-1 rounded px-2 py-1 text-white" href="https://www.iubenda.com/en/help/posts/1812">Lavora con noi</a></li> <li><a href="https://www.iubenda.com/blog/">Blog</a></li> <li><a href="/it/partner-program">Diventa un esperto in compliance certificato</a></li> <li><a href="/it/help/15136-partner-directory">Partner directory</a></li> <li><a href="https://www.iubenda.com/it/help/150021-unisciti-al-programma-di-affiliazione-di-iubenda">Guadagna con iubenda</a></li> </ul> <ul class="list-unstyled d-md-flex align-items-center"> <li class="mb-1 mr-4"> <a href="https://iubenda.link/capterra-it" target="_blank" rel="noopener"> <img border="0" data-lazy-src="https://assets.capterra.com/badge/de52ae1b9de89ae468a920af39e7ace6.png?v=2110097&p=156938" width="100" height="32" alt="Capterra rating"/> </a> </li> </ul> </div> <div class="col mb-4"> <h4 class="text-default text-uppercase mb-3">Documenti e contatti</h4> <ul class="list-unstyled mb-0 pl-2 text-xs"> <li><a href="https://www.iubenda.com/privacy-policy/775731" class="iubenda-white iubenda-embed" title="Privacy Policy">Privacy Policy</a></li> <li><a href="/it/user/tos" class="iubenda-white iubenda-embed" title="Termini di servizio">Termini e Condizioni</a></li> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ (function (w,d) {var loader = function () {var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0];s.src = "https://cdn.iubenda.com/iubenda.js";tag.parentNode.insertBefore(s,tag);};w.addEventListener ? w.addEventListener("load", loader, false) : w.attachEvent("onload", loader);})(window, document); //]]> </script> <a href="https://www.iubenda.com/dsar-form/it/5bcb8bf5-5fe3-43fe-ae11-2065200c7827" class="iubenda-white iubenda-embed" title="I miei diritti">I miei diritti</a> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ (function (w, d) { var loader = function () { var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0]; s.src = "https://cdn.iubenda.com/iubenda.js"; tag.parentNode.insertBefore(s, tag); }; if (w.addEventListener) { w.addEventListener("load", loader, false); } else if (w.attachEvent) { w.attachEvent("onload", loader); } else { w.onload = loader; } })(window, document); //]]> </script> <li><a href="https://www.iubenda.com/whistleblowing-form/it/7d7ca782-3805-4ce2-ae0b-5b57f53162d5" class="iubenda-white iubenda-embed" title="Modulo di whistleblowing">Modulo di whistleblowing</a></li> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ (function (w,d) {var loader = function () {var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0]; s.src="https://cdn.iubenda.com/iubenda.js"; tag.parentNode.insertBefore(s,tag);}; if(w.addEventListener){w.addEventListener("load", loader, false);}else if(w.attachEvent){w.attachEvent("onload", loader);}else{w.onload = loader;}})(window, document); //]]> </script> <li class="pb-3"><a href="https://www.iubenda.com/termini-e-condizioni/79535015">Whistleblower policy</a></li> <li class="pb-3"><a href="/it/help/155">Imprint/Impressum</a></li> <li><a href="https://www.iubenda.com/privacy-policy/79174687">Consent Database – Documento Privacy</a></li> <li><a href="https://www.iubenda.com/privacy-policy/20581392">Privacy Controls and Cookie Solution – Documento Privacy</a></li> </ul> </div> </div> <div class="row"> <div class="col-6 mb-4"> <h4 class="text-default text-uppercase mb-3">Assistenza</h4> <ul class="list-unstyled mb-0 pl-2 text-xs"> <li><a href="/it/help">Documentazione</a></li> <li><a href="https://support.iubenda.com">Feedback e forum</a></li> <li><a href="mailto:info@iubenda.com" data-elevio-module="4" data-elevio-style="nothing">Contatta il supporto</a></li> <li><a href="https://www.iubenda.com/it/help/161906-assistenza-dedicata-per-la-nostra-cmp">Assistenza dedicata per la nostra CMP</a></li> </ul> </div> <div class="col-6 mb-4"> <h4 class="text-default text-uppercase mb-2"><label for="user_country">Paese</label></h4> <div class="mb-4"> <select class="form-control custom-select" id="user_country" name="iubenda_current_user[country_code]" remote="true"> </select> </div> </div> </div> <div class="row"> <div class="col-6 mb-4 mt-3"> <div class="footer_social_buttons"> <ul class="list-unstyled d-flex align-items-center"> <li class="mr-1"> <a href="https://www.facebook.com/iubenda" target="_blank" rel="noopener" class="pr-0"> <img class="mb-4" width="32" height="32" alt="Facebook logo" data-lazy-src="/assets/site/general/facebook_logo-0a635f95d5ca9a530ec6849fdca8c313abdbaa2ef4f7ff085e7894a481e69cb4.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img class="mb-4" width="32" height="32" alt="Facebook logo" src="/assets/site/general/facebook_logo-0a635f95d5ca9a530ec6849fdca8c313abdbaa2ef4f7ff085e7894a481e69cb4.svg" /> </noscript> </a> </li> <li> <a href="https://twitter.com/iubenda" target="_blank" rel="noopener" class="pl-0"> <img class="mb-4" width="32" height="32" alt="X logo" data-lazy-src="/assets/site/general/x_logo-374a5be853d42cc934c74f37d1378ececb74abff0767a619a2749f8461f05bf9.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img class="mb-4" width="32" height="32" alt="X logo" src="/assets/site/general/x_logo-374a5be853d42cc934c74f37d1378ececb74abff0767a619a2749f8461f05bf9.svg" /> </noscript> </a> </li> </ul> </div> </div> <div class="col-6 footer-certificates"> <img height="75" alt="CMP Partner badge" class="mr-3 mb-3" data-lazy-src="/assets/site/general/cmp_badge_en-3d95a73213cca3ef66050653cc124af032a115c33f225a895c6587e7665f2d0f.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img height="75" alt="CMP Partner badge" class="mr-3 mb-3" src="/assets/site/general/cmp_badge_en-3d95a73213cca3ef66050653cc124af032a115c33f225a895c6587e7665f2d0f.svg" /> </noscript> <a href="/assets/site/general/iubenda_iso_certificate-02df3bf20f10947e36649d790bb65e06f4f8df96b0bd26c4d1b7bd1d01fb4311.pdf" target="_blank"><img height="85" alt="ISO 27001 certificate" data-lazy-src="/assets/site/general/marchio_certification_ISO_IEC_27001-b48149ce6e055a2caa00f0961394ce95d4ae4f31fbcc7957a1851c213b2f6bff.png" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img height="85" alt="ISO 27001 certificate" src="/assets/site/general/marchio_certification_ISO_IEC_27001-b48149ce6e055a2caa00f0961394ce95d4ae4f31fbcc7957a1851c213b2f6bff.png" /> </noscript> </a> </div> </div> </div> </div> </div> <div class="language-country-selectors"></div> <hr class="p-0"> <div class="p-4 text-xs"> <div class="container"> <div class="row"> <div class="col-md-12"> <address class="d-flex flex-column d-lg-block"> <strong class="mr-2">iubenda s.r.l</strong> <span class="mr-2">Via San Raffaele, 1 - 20121 Milan (Italia)</span> <span class="mr-2">C.F./P.IVA: IT07347120961</span> <span class="mr-2">P.IVA UK: GB370904694</span> <span class="mr-2">Camera di Commercio di Milano</span> <span class="mr-2">CS: 12.795,78 Eur (I.V.)</span> </address> </div> </div> </div> </div> <style type="text/css"> #iubenda_rejection_recovery_popup { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 9999999999; display: none; } #iubenda_rejection_recovery_popup .iubenda-cs__close { background: none; display: flex; width: 20px; height: 20px; text-align: center; font-size: 16px; font-weight: bold; margin: 0 0 -20px 0; padding: 0; justify-content: center; align-items: center; border: 0; cursor: pointer; align-self: flex-end; } #iubenda_rejection_recovery_popup .iubenda_rejection_recovery_popup__dialog { width: 100%; height: 100%; } </style> </footer> <div id="iubenda_rejection_recovery_popup" role="dialog" aria-hidden="true"> <div class="iubenda_rejection_recovery_popup__dialog _iub_cs_prompt" role="document" data-iub-purposes="1,2,3,4,5"></div> </div> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ $(document).ready(function() { $(".show-in-iframe").click(function(event) { if(!event.ctrlKey && !event.metaKey){ if (document.getElementById('iubenda-pp-popup')) { return; } showInIframe($(this).attr('href')/*,null,null,null,null,$('.container')[0],name*/); event.preventDefault(); } }); $('#iubenda_rejection_recovery_popup').on('click', function(e) { var clickedItem = e.target; if ($(clickedItem).hasClass('iubenda-cs__button') || $(clickedItem).hasClass('iubenda-cs__close')) { $('#iubenda_rejection_recovery_popup').modal('hide'); } }); }); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ window.isUserSignedIn = false; window.TrackingUtils.init(); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ dataLayer.push({ event: "trigger_conversion", google_conversion_id: 1036022355, google_custom_params: window.google_tag_params, google_remarketing_only: true }); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ !function(e,l,v,i,o,n){e[i]||(e[i]={}),e[i].account_id=n;var g,h;g=l.createElement(v),g.type="text/plain",g.async=1,g.src=o+n,g.setAttribute("data-iub-purposes", "1"),g.classList.add("_iub_cs_activate"),h=l.getElementsByTagName(v)[0],h.parentNode.insertBefore(g,h);e[i].q=[];e[i].on=function(z,y){e[i].q.push([z,y])}}(window,document,"script","_elev","https://cdn.elev.io/sdk/bootloader/v4/elevio-bootloader.js?cid=","5b0d50ab36803"); window._elev.on('load', function (_elev) { var userSettings = { groups: ['Language=IT']} _elev.setUser(userSettings); _elev.setLanguage('it'); _elev.setSettings({ disablePushState: true, cspInlineScriptNonce: CSP_NONCE }); }); window._elev.on('ready', function elevReady() { var wrap = document.querySelector('#_elev_io._elevio_widget').querySelector('._1mpem'); var wrapAppendChild = wrap.appendChild.bind(wrap); wrap.appendChild = function wrapAppendChildMid(div) { var divAppendChild = div.appendChild.bind(div); div.appendChild = function divAppendChildMid(article) { if (article.tagName && article.tagName.toLowerCase() === 'article') { var articleAppendChild = article.appendChild.bind(article); article.appendChild = function articleAppendChildMid(iframe) { if (iframe.tagName && iframe.tagName.toLowerCase() === 'iframe') { iframe.setAttribute('src', '/no-content.html'); } return articleAppendChild(iframe); }; } return divAppendChild(article); }; return wrapAppendChild(div); }; }); var rejectionRecoveryPopupSet = false; window._elev.on('widget:opened', function elevClicked() { var buttonItem = document.querySelector('#_elev_io ._elevio_module_icon_9') if (!rejectionRecoveryPopupSet && buttonItem) { $('#iubenda_rejection_recovery_popup .iubenda-cs__dialog').prepend('<button class="iubenda-cs__close" aria-label="Close" title="Close">&times;</button>'); rejectionRecoveryPopupSet = true; buttonItem.addEventListener('click', function(e) { var preferences = _iub.cs.api.getPreferences(); var purposes = ['1', '2', '3', '4', '5']; var isConsented = purposes.every(function (purposesItem) { var mainPurposeItem = null; var usprPurposeItem = null; if (preferences.purposes && preferences.purposes[purposesItem]) { mainPurposeItem = preferences.purposes[purposesItem]; } if (preferences.uspr && preferences.uspr[purposesItem]) { usprPurposeItem = preferences.uspr[purposesItem]; } return mainPurposeItem || usprPurposeItem }) if (!isConsented) { e.stopPropagation(); $('#iubenda_rejection_recovery_popup').modal('show'); window._elev.close(); return } }, true); } }); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js" integrity="sha512-XtmMtDEcNz2j7ekrtHvOVR4iwwaD6o/FUJe6+Zq+HgcCsk3kj4uSQQR8weQ2QVj1o0Pk6PwYLohm206ZzNfubg==" crossorigin="anonymous" referrerpolicy="no-referrer"> //<![CDATA[ //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ (function($) { $('.wp-block-cb-carousel').slick(); })(jQuery); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ function PasswordVisibilityToggle(passwordInputSelector, submitBtnSelector) { this.passwordInput = document.querySelector(passwordInputSelector); this.submitBtn = document.querySelector(submitBtnSelector); console.log( this.passwordInput + ' - ' + this.submitBtn ); if (this.passwordInput && this.submitBtn) { this.alert = this.findSiblingElement(this.passwordInput, 'show-hide-pw-alert'); this.toggleBtn = this.findSiblingElement(this.passwordInput, 'show-hide-pw-btn'); if (this.toggleBtn && this.alert) { this.init(); } else { console.error('Required elements not found.'); } } } PasswordVisibilityToggle.prototype.findSiblingElement = function(startElement, className) { var sibling = startElement.parentNode.firstChild; while (sibling) { if (sibling !== startElement && sibling.nodeType === 1 && sibling.classList.contains(className)) { return sibling; } sibling = sibling.nextSibling; } return null; }; PasswordVisibilityToggle.prototype.init = function() { var self = this; this.toggleBtn.addEventListener('click', function() { self.toggleVisibility(); }); this.submitBtn.addEventListener('click', function() { self.resetPasswordInput(); }); }; PasswordVisibilityToggle.prototype.toggleVisibility = function() { if (this.passwordInput.type === 'password') { this.passwordInput.type = 'text'; } else { this.passwordInput.type = 'password'; } var isChecked = this.toggleBtn.getAttribute('aria-checked') === 'true'; this.toggleBtn.setAttribute('aria-checked', !isChecked); if (!isChecked) { this.alert.textContent = "La tua password è visibile"; } else { this.alert.textContent = "La tua password è nascosta"; } }; PasswordVisibilityToggle.prototype.resetPasswordInput = function() { this.passwordInput.type = 'password'; }; //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ var userLocationPrefs = {"locale":"it","country":"SG"}; var cdnBaseUrl = "https://cdn.iubenda.com/"; var goProModalUrl = ""; var upToProUrl = ""; var upgradeSiteUrl = ""; var dashboardUrl = "/it/dashboard"; var accountUrl = "https://www.iubenda.com/it/account" var mtToPaygConversionFormUrl = "https://www.iubenda.com/it/billing/subscriptions/mt_to_payg_conversion_form"; var moveToPaygUrl = "https://www.iubenda.com/it/billing/subscriptions/move_to_payg"; var gopro_upgrade_to_remove = "Aggiorna questa privacy policy a Pro per rimuovere il limite"; var gopro_upgrade_now = "Aggiorna ora"; var gopro_learn_more = "Scopri di pi&ugrave;"; var gopro_free_limit_reached = "Limite free raggiunto"; var gopro_only_four_services = "Aggiorna questa privacy policy a Pro per aggiungere pi&ugrave; di 4 servizi."; var gopro_service_pro_only = "Aggiorna questa privacy policy a Pro per aggiungere questo servizio." var gopro_switch_to_pro = "Passa a Pro per abilitarlo"; var gopro_no_custom_text = "Per aggiungere manualmente del testo, devi aggiornare la tua privacy policy a Pro."; var gopro_no_style_limit = "Solo le privacy policy Pro permettono di rimuovere lo stile del bottone e modificarlo liberamente."; var gopro_no_brand_limit = "Se vuoi rimuovere il logo di iubenda, aggiorna privacy policy a Pro."; var gopro_direct_link_limit = "Se vuoi usare il link diretto alla privacy policy, senza usare il codice di inserimento, aggiorna questa privacy policy a Pro."; var gopro_direct_embed_limit = "Se vuoi inserire il testo della privacy policy in modo diretto, in modo che venga stampato direttamente nel testo della pagina, aggiorna questa privacy policy a Pro. <a href='/it/help/1078' target='_blank'>Visualizza un esempio</a>"; var gopro_add_language = "La licenza di questo sito &egrave; valida per una sola lingua. Se vuoi aggiungere una lingua aggiuntiva, puoi acquistare un'altra licenza allo stesso prezzo della prima :)"; var gopro_add_language_payg = "La licenza di questo sito è valida per una sola lingua, dato che che ogni licenza vale per una lingua o un sito. \u003cbr/\u003e\u003cbr/\u003e \u003cspan\u003e\u0026#128204;\u003c/span\u003e Per aggiungere un’altra lingua, devi attivare una nuova licenza. È semplicissimo! \u003cbr/\u003e\u003cbr/\u003e Ti basta fare clic sul pulsante “Aggiungi lingua” e il nostro sistema utilizzerà il saldo rimanente della tua licenza a pagamento per attivarne un’altra. \u003cbr/\u003e\u003cbr/\u003e La data di scadenza di entrambe le licenze verrà poi anticipata, perché il saldo dell’abbonamento viene diviso per adattarsi alle tue licenze attive."; var mt_expired_add_language = "Il tuo Piano Multi-licenza &egrave; scaduto, visita la tua dashboard per rinnovare o per tornare alla Licenza Singola."; var mt_emptied_add_language = "Il tuo Piano Multi-licenza non ha pi&ugrave; slot liberi, aggiorna ad un piano pi&ugrave; grande."; var mt_add_language_upgrade_now = "Aggiorna ora"; var buy_second_language = "Acquista lingua aggiuntiva"; var permissions_tooltip_title = "Riservato alle policy Pro"; var permissions_tooltip_paragraph = "Per aggiungere questo permesso alla tua privacy policy, devi prima aggiornarla a Pro"; var pro_service_tooltip_title = "Riservato alle policy Pro"; var pro_service_tooltip_paragraph = "Per aggiungere questo servizio alla tua privacy policy, devi prima aggiornarla a Pro"; var pro_cookiepp_tooltip_title = "Riservato alle policy Pro"; var pro_cookiepp_tooltip_paragraph = "Per aggiungere una cookie policy alla tua privacy policy, devi prima aggiornarla a Pro. <a href='/it/help/8544' target='_blank'>Visualizza un esempio</a>"; var hint_tooltip_title = "Aiuto su questo servizio"; var fbLoginUrl = "https://www.iubenda.com/it/facebook_login"; var facebookConnectUrl = "https://www.iubenda.com/it/facebook/connect"; var legacyUpgrade = true; var package_feature_not_enabled = "Fai l’upgrade del tuo piano"; var package_upgrade_message = "Questa funzionalità non è inclusa nel tuo piano attuale. Per utilizzarla, fai l'upgrade del tuo piano."; var package_upgrade_cta = "Scopri di più"; // alerts document.addEventListener("DOMContentLoaded", function(e) { var flashAlert = sessionStorage.getItem('flash_alert_error'); if (flashAlert) { AlertMessage.show({message: flashAlert, type: 'error', timerHide: 3000}); sessionStorage.removeItem('flash_alert_error'); } }); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" type="text/plain" class="_iub_cs_activate" data-iub-purpose="2"> //<![CDATA[ (function(d, id) { var fcJS; function initFreshChat() { window.fcWidget.init({ token: "6946a656-b4d1-4304-80ca-a527ec430aa5", host: "https://wchat.freshchat.com", locale: "it", config: { hideFAQ: true, headerProperty: { hideChatButton: true, direction: "ltr" }, content: { placeholders: { search_field: "Cerca", reply_field: "Rispondi", csat_reply: "Aggiungi qui i tuoi commenti" }, actions: { csat_yes: "Sì", csat_no: "No", push_notify_yes: "Sì", push_notify_no: "No", tab_faq: "Soluzioni", tab_chat: "Chat", csat_submit: "Invia" }, headers: { chat: "Chatta con noi", chat_help: "Contattaci per qualunque domanda", faq: "Articoli", faq_help: "Sfoglia gli articoli", faq_not_available: "Nessun articolo trovato", faq_search_not_available: "Nessun articolo trovato per {{query}}", faq_useful: "Questo articolo è stato d\'aiuto?", faq_thankyou: "Grazie per il tuo feedback", faq_message_us: "Scrivici", push_notification: "Non perdere la risposta! Attiva le notifiche?", csat_question: "Abbiamo risposto alle tue domande?", csat_yes_question: "Come valuteresti questa interazione?", csat_no_question: "Come avremmo potuto fare di meglio?", csat_thankyou: "Grazie per il tuo riscontro", csat_rate_here: "Invia il tuo voto qui", channel_response: { offline: "Al momento siamo offline. Per favore, lascia un messaggio", online: { minutes: { one: "Al momento il tempo di risposta è di {!time!} minuti ", more: "Rispondiamo tipicamente in {!time!} minuti" }, hours: { one: "Al momento il tempo di risposta è entro un\'ora", more: "Rispondiamo tipicamente in {!time!} ore", } } } } }, } }); window.fcWidget.user.setLocale('it'); } if (d.getElementById(id)) { initFreshChat(); return; } fcJS = d.createElement('script'); fcJS.id = id; fcJS.async = true; fcJS.src = 'https://wchat.freshchat.com/js/widget.js'; fcJS.nonce = '08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da' fcJS.onload = initFreshChat; d.head.appendChild(fcJS); }(document, 'freshchat-js-sdk')); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" type="text/plain" class="_iub_cs_activate" data-iub-purposes="4,5"> //<![CDATA[ !function(){"use strict";window.RudderSnippetVersion="3.0.14";var e="rudderanalytics";window[e]||(window[e]=[]) ;var rudderanalytics=window[e];if(Array.isArray(rudderanalytics)){ if(true===rudderanalytics.snippetExecuted&&window.console&&console.error){ console.error("RudderStack JavaScript SDK snippet included more than once.")}else{rudderanalytics.snippetExecuted=true, window.rudderAnalyticsBuildType="legacy";var sdkBaseUrl="https://cdn.rudderlabs.com/v3";var sdkName="rsa.min.js" ;var scriptLoadingMode="async" ;var t=["setDefaultInstanceKey","load","ready","page","track","identify","alias","group","reset","setAnonymousId","startSession","endSession","consent"] ;for(var r=0;r<t.length;r++){var n=t[r];rudderanalytics[n]=function(t){return function(){var r ;Array.isArray(window[e])?rudderanalytics.push([t].concat(Array.prototype.slice.call(arguments))):null===(r=window[e][t])||void 0===r||r.apply(window[e],arguments) }}(n)}try{ // workaround to check for dynamic imports without using method (new Function('return import("")')) if ('noModule' in HTMLScriptElement.prototype) window.rudderAnalyticsBuildType="modern" }catch(a){} var i=document.head||document.getElementsByTagName("head")[0] ;var d=document.body||document.getElementsByTagName("body")[0];window.rudderAnalyticsAddScript=function(e,t,r){ var n=document.createElement("script");n.src=e,n.setAttribute("data-loader","RS_JS_SDK"),t&&r&&n.setAttribute(t,r), "async"===scriptLoadingMode?n.async=true:"defer"===scriptLoadingMode&&(n.defer=true), i?i.insertBefore(n,i.firstChild):d.insertBefore(n,d.firstChild)},window.rudderAnalyticsMount=function(){ "undefined"==typeof globalThis&&(Object.defineProperty(Object.prototype,"__globalThis_magic__",{get:function get(){ return this},configurable:true}),__globalThis_magic__.globalThis=__globalThis_magic__, delete Object.prototype.__globalThis_magic__), window.rudderAnalyticsAddScript("".concat(sdkBaseUrl,"/").concat(window.rudderAnalyticsBuildType,"/").concat(sdkName),"data-rsa-write-key","2MV0qrGjHKJbkC2kOh1rSBRyD9k") }, "undefined"==typeof Promise||"undefined"==typeof globalThis?window.rudderAnalyticsAddScript("https://polyfill-fastly.io/v3/polyfill.min.js?version=3.111.0&features=Symbol%2CPromise&callback=rudderAnalyticsMount"):window.rudderAnalyticsMount() ;var loadOptions={ onLoaded: function(rudderanalytics) { rudderanalytics.setAnonymousId("a11a9bf4-1480-4281-80a5-fd2f598fdd90"); window._radderAnalyticsQueue = window._radderAnalyticsQueue || []; window._radderAnalyticsQueue.forEach(func => { if (typeof func === 'function') { func("eyJncm93dGhib29rIjp7ImF0dHJpYnV0ZXMiOnsiY291bnRyeSI6IlNHIiwi\naWQiOiIiLCJ0cmFja2luZ19pZCI6IiIsImFub255bW91c19pZCI6ImExMWE5\nYmY0LTE0ODAtNDI4MS04MGE1LWZkMmY1OThmZGQ5MCIsInNlc3Npb25faWQi\nOiI5NGI5ZjFhYmIyNWQ1ZjI4MWRmNDY3NTg3ODAzMDE3YyIsImlwIjoiOC4y\nMjIuMjA4LjE0NiJ9LCJmb3JjZWRGZWF0dXJlcyI6e319fQ==\n"); } }); const integrations = { All: true, Impact: false } rudderanalytics.page('', '', {}, { integrations: integrations }); }, storage: { entries: { userTraits: { type: "localStorage" } } }, setCookieDomain: "www.iubenda.com" } ;rudderanalytics.load("2MV0qrGjHKJbkC2kOh1rSBRyD9k","https://rudder.iubenda.com", loadOptions)}} }(); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" id="profitwell-js" data-pw-auth="e2b7961d01fb6d8f17a24d0b5f505c3d" type="text/plain" class="_iub_cs_activate" data-iub-purposes="2"> //<![CDATA[ (function(i,s,o,g,r,a,m){i[o]=i[o]||function(){(i[o].q=i[o].q||[]).push(arguments)}; a=s.createElement(g);m=s.getElementsByTagName(g)[0];a.async=1;a.src=r+'?auth='+ s.getElementById(o+'-js').getAttribute('data-pw-auth');m.parentNode.insertBefore(a,m); })(window,document,'profitwell','script','https://public.profitwell.com/js/profitwell.js'); profitwell('start', {}); //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da"> //<![CDATA[ window.GROWTHBOOK_API_HOST="https://cdn.growthbook.io"; window.GROWTHBOOK_CLIENT_KEY="sdk-nX2zVV0ub3f5ljqf"; //]]> </script> <script nonce="08f693bcada48ed371a1909e1f8c4e3464f9b71bf77945571236d95b50ff00da" src="/assets/builds/growthbook-2e346335d144883fc546.js" type="text/plain" class="_iub_cs_activate" data-iub-purposes="4"> //<![CDATA[ //]]> </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10