PubConsent
Integrazione iOS
App Tracking Transparency (iOS 14.5+)
10 min
a partire da ios 14 5, rilasciato nell'aprile 2021, apple ha introdotto il framework app tracking transparency (att) questo framework impone che le app devono divulgare in modo trasparente l'uso dei dati e informare gli utenti sulle pratiche di tracciamento da parte di terzi all'interno dell'app il tracciamento e l'uso dell'identifier for advertisers (idfa) ora richiedono il consenso esplicito dell'utente secondo le linee guida di apple, il "tracciamento" comprende il collegamento dei dati dell'utente o del dispositivo raccolti dalla tua app con i dati raccolti da altre aziende dalle loro app, siti web o proprietà offline per scopi come la pubblicità mirata o la misurazione della pubblicità include anche la condivisione dei dati dell'utente o del dispositivo con broker di dati attualmente, l'sdk pubconsent non richiede l'autorizzazione dell'utente per il tracciamento come richiesto dal framework app tracking transparency (att) è responsabilità dell'app gestire questo processo e determinare come la piattaforma di gestione del consenso (cmp) pubconsent e il permesso att debbano coesistere la tua app deve rispettare le linee guida di apple divulgando i dati raccolti e ottenendo il consenso dell'utente per il tracciamento per richiedere il permesso di tracciamento su ios, dovresti chiamare la funzione attrackingmanager requesttrackingauthorization all'interno della tua app quando e come richiedere il permesso att? secondo le linee guida di apple, devi mostrare l'avviso di richiesta del permesso att prima di tentare di accedere all'identifier for advertisers (idfa) sul dispositivo ios se il permesso non viene richiesto, o se l'utente rifiuta il permesso, l'idfa non sarà disponibile per la tua app e per eventuali sdk di terze parti integrati questa limitazione potrebbe influire sul funzionamento degli sdk di terze parti che dipendono dai dati di tracciamento garantire la conformità per essere pienamente conformi sia alle linee guida di apple che ai requisiti del gdpr, devi ottenere il permesso dell'utente tramite il framework att e richiedere anche il consenso dell'utente tramite la cmp attualmente, il framework att di apple non è allineato con l'iab transparency and consent framework (tcf) o con gli standard gdpr pertanto, non può essere utilizzato come unico meccanismo di raccolta del consenso e deve essere utilizzato in combinazione con la cmp pubconsent per garantire una conformità completa implementazioni 1\) richiedere il permesso tramite att, quindi raccogliere il consenso tramite la cmp solo se l'utente ha concesso il permesso tramite att pro questa implementazione garantisce che gli utenti vengano interrogati una sola volta se negano il permesso tramite att, minimizzando l'attrito per l'utente gli utenti che non concedono il consenso tramite att vengono risparmiati da una seconda richiesta da parte della cmp contro gli utenti che concedono il permesso tramite att dovranno ancora fornire il consenso separatamente tramite la cmp, portando ad essere interrogati due volte (una volta da att e una volta dalla cmp) purtroppo, ciò è attualmente inevitabile il principale svantaggio di questo approccio è che se un utente nega il consenso tramite att, si presume che neghi anche il consenso tramite la cmp questo nonostante il fatto che att e la cmp riguardino scopi diversi e coinvolgano diversi fornitori ciò significa che la tua app potrebbe estrapolare la decisione di un utente da att (che si concentra sul tracciamento tramite idfa) ad altri scopi non correlati se ciò sia accettabile o meno dipende dal contesto specifico della tua app e dell'utente 2\) raccogliere il consenso tramite la cmp, quindi richiedere il permesso tramite att pro il principale vantaggio di questa implementazione è che consente agli utenti di fare scelte distinte tra il tracciamento att e i vari scopi e fornitori gestiti dalla cmp questo rispetta il fatto che la cmp e att riguardano ambiti e scelte di consenso differenti contro gli utenti dovranno comunque essere interrogati due volte (prima dalla cmp e poi da att), il che potrebbe potenzialmente portare a fatica o fastidio per l'utente purtroppo, questa ridondanza è attualmente inevitabile per implementare questa soluzione puoi registrare il callback onconsentreadycallback integrare l'avviso cmp e il permesso att mostrare il permesso att, quindi l'avviso cmp se l'utente accetta il permesso att questo esempio dimostra come visualizzare la richiesta di permesso att se la versione di ios è 14 o successiva mostra l'interfaccia utente di pubconsent solo nelle seguenti condizioni la versione di ios è inferiore a 14 l'utente ha accettato la richiesta di permesso att o att è ristretto (vedi https //developer apple com/documentation/apptrackingtransparency/attrackingmanager/authorizationstatus/restricted ) dettagli la richiesta di permesso att verrà sempre visualizzata se il dispositivo esegue ios 14 o successivo e lo stato att non è ristretto l'interfaccia utente di pubconsent verrà mostrata solo se l'utente accetta la richiesta di permesso att o se la richiesta di permesso att non può essere visualizzata (a causa di restrizioni o se la versione di ios è inferiore a 14) import uikit import apptrackingtransparency class viewcontroller uiviewcontroller { override func viewdidappear( animated bool) { super viewdidappear(animated) if #available(ios 14, ) { attrackingmanager requesttrackingauthorization { status in switch status { case authorized // mostra il cmp pubconsent per raccogliere il consenso dall'utente pubconsentcmp shared setupui(containercontroller self) case denied // nega il consenso per tutti gli scopi e i fornitori nel cmp pubconsent // nel caso in cui non è necessario rifiutare tutto nella cmp potete non chiamare questo metodo e nessun consenso verrà espresso pubconsentcmp shared setuserrejectedall(containercontroller self) // altrimenti potete chiamare il metodo resetuserpreferences per cancellare le preferenze espresse dall'utente in passato pubconsentcmp shared resetuserpreferences() case restricted // att è ristretto sul dispositivo, quindi l'utente non è stato interrogato per una scelta (https //developer apple com/documentation/apptrackingtransparency/attrackingmanager/authorizationstatus/restricted) // mostra l'avviso del cmp pubconsent per raccogliere il consenso dall'utente pubconsentcmp shared setupui(containercontroller self) case notdetermined // questo non dovrebbe accadere // mostra l'avviso del cmp pubconsent per raccogliere il consenso dall'utente pubconsentcmp shared setupui(containercontroller self) } } } else { // mostra il cmp pubconsent per raccogliere il consenso dall'utente poiché ios < 14 (nessun att disponibile) pubconsentcmp shared setupui(containercontroller self) } } } if you need to close the popup without expressing any consent you can call the method pubconsentcmp shared disablecmppopup() dopo aver chiamato disablecmppopup() l'unico modo per riattivare il cmp e mostrare il popup, se necessario, è chiamare il metodo pubconsentcmp shared enablecmppopup(containercontroller uiviewcontroller)