Trasparenza e quadri di riferimento per il consenso (IAB TCF)

Accesso ai valori di consenso 

L'SDK imposterà i valori delle preferenze condivise per IAB TCF v1 e IAB TCF v2. Questi valori possono essere letti utilizzando il seguente codice:

// =========================================================
// Kotlin version
// =========================================================

Context mContext = getApplicationContext();

SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);

SharedPreferences.OnSharedPreferenceChangeListener mListener;

mListener = new SharedPreferences.OnSharedPreferenceChangeListener() {

            public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
                        if (key.equals([Specific Consent Key])) {
                                   // Update Consent settings
                                   }
                        }
            };
mPreferences.registerOnSharedPreferenceChangeListener(mListener);

// =========================================================
// Swift version
// =========================================================

import Foundation

class UserDefaultsObserver {
    private let userDefaults = UserDefaults.standard
    private var observer: NSObjectProtocol?

    init() {
        setupObserver()
    }

    private func setupObserver() {
        observer = NotificationCenter.default.addObserver(
            forName: UserDefaults.didChangeNotification,
            object: nil,
            queue: .main
        ) { [weak self] notification in
            guard let userDefaults = notification.object as? UserDefaults else { return }
            self?.handleUserDefaultsChange(userDefaults)
        }
    }

    private func handleUserDefaultsChange(_ userDefaults: UserDefaults) {
        // Check for changes in the specific consent key
        if userDefaults.object(forKey: "SpecificConsentKey") != nil {
            // Update consent settings
            updateConsentSettings()
        }
    }

    private func updateConsentSettings() {
        // Implement your consent settings update logic here
        print("Updating consent settings")
    }

    deinit {
        if let observer = observer {
            NotificationCenter.default.removeObserver(observer)
        }
    }
}

// Usage
let userDefaultsObserver = UserDefaultsObserver()

Sono definiti i seguenti codici:

IAB TCF v2  
IABTCF_CmpSdkID Number: L'ID intero senza segno dell'SDK CMP
IABTCF_CmpSdkVersion Number: Il numero di versione intero senza segno dell'SDK CMP
IABTCF_PolicyVersion Number: L'intero senza segno che rappresenta la versione del TCF a cui questi consensi aderiscono.
IABTCF_gdprApplies Number:

1 Il GDPR si applica nel contesto attuale

0 – Il GDPR non si applica nel contesto attuale

Non impostato – indeterminato (impostazione predefinita prima dell'inizializzazione)

IABTCF_PublisherCC String: Codice alfa-2 ISO 3166-1 di due lettere – Impostazione predefinita: AA (sconosciuto)
IABTCF_PurposeOneTreatment Number:

0 – nessun trattamento speciale per lo scopo uno

1 – scopo uno non divulgato

Impostazione predefinita non impostata0

I fornitori possono utilizzare questo valore per determinare se è richiesto il consenso per lo scopo uno.

IABTCF_UseNonStandardStacks Number:

1 – CMP ha utilizzato uno stack non standard

0 – Il CMP non ha utilizzato uno stack non standard

IABTCF_TCString String: Stringa TC codificata completa
IABTCF_VendorConsents Binary String: Il '0' o '1' alla posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato di consenso per l'ID fornitore n+1; false e true rispettivamente. Es. '1' all'indice 0 è consenso true per l'ID fornitore 1
IABTCF_VendorLegitimateInterests Binary String: Il '0' oppure '1' alla posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato di interesse legittimo per l'ID fornitore n+1; false e true rispettivamente. Es. '1' all'indice 0 è stabilito l'interesse legittimo true per l'ID fornitore 1
IABTCF_PurposeConsents Binary String: Il '0' o '1' alla posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato del consenso per l'ID della finalità n+1; false e true rispettivamente. Es. '1' all'indice 0 è consenso true per l'ID della finalità 1
IABTCF_PurposeLegitimateInterests Binary String: Il '0' o '1' alla posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato di interesse legittimo per l'ID della finalità n+1; false e true rispettivamente. Es. '1' all'indice 0 è stabilito l'interesse legittimo true per l'ID della finalità 1
IABTCF_SpecialFeaturesOptIns Binary String: Il '0' oppure '1' alla posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato di opt-in per l'ID della funzionalità speciale n+1; false e true rispettivamente. Es. '1' all'indice 0 è opt-in true per l'ID della funzione speciale 1
IABTCF_PublisherRestrictions{ID} String ['0','1', or '2']: il valore nella posizione n – dove l'indicizzazione di n inizia a 0 – indica il tipo di restrizione dell'editore (0-2) per il fornitore n+1; (vedere Tipi di restrizioni dell'editore). Es. '2' all'indice 0 è restrictionType 2 per l'ID del fornitore 1. {ID} si riferisce all’ID dello scopo.
IABTCF_PublisherConsent Binary String: Il '0' o '1' nella posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato del consenso per lo scopo con ID n+1 per l'editore, in quanto corrisponde agli scopi dell'Elenco globale dei fornitori; false e true rispettivamente. Es. '1' all'indice 0 è consenso true per l'ID dello scopo 1
IABTCF_PublisherLegitimateInterests Binary String: Il '0' o '1' alla posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato di interesse legittimo per l'ID scopo n+1 per l'editore, in quanto corrispondono agli Scopi dell'Elenco Globale dei Fornitori; false e true rispettivamente. Es. '1' all'indice 0 è stabilito l'interesse legittimo true per l'ID dello scopo 1
IABTCF_PublisherCustomPurposesConsents Binary String: Il '0' oppure '1' alla posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato del consenso per lo scopo personalizzato dell'editore con ID n+1; false e true rispettivamente. Es. '1' all'indice 0 è consenso true per l'ID di finalità personalizzata 1
IABTCF_PublisherCustomPurposesLegitimateInterests Binary String: Il '0' o '1' alla posizione n – dove l'indicizzazione di n inizia a 0 – indica lo stato di interesse legittimo per lo scopo personalizzato ID n+1 dell'editore; false e true rispettivamente. Es. '1' all'indice 0 è stabilito l'interesse legittimo true per l'ID dello scopo personalizzato 1

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!