Info
Contenido

Marcos de transparencia y consentimiento (IAB TCF)

Acceso a los valores del consentimiento 

El SDK establecerá los valores de preferencias compartidas para IAB TCF v1 e IAB TCF v2. Estos valores se pueden leer mediante el siguiente código:

// =========================================================
// 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()

Se definen las siguientes claves:

IAB TCF v2  
IABTCF_CmpSdkID Number: El ID entero sin signo del SDK de CMP
IABTCF_CmpSdkVersion Number: El número de versión entero sin signo de CMP SDK
IABTCF_PolicyVersion Number: El entero sin signo que representa la versión del TCF a la que se adhieren estos consentimientos.
IABTCF_gdprApplies Number:

1 GDPR se aplica en el contexto actual

0 - GDPR hace no aplicar en el contexto actual

Desarmado - indeterminado (predeterminado antes de la inicialización)

IABTCF_PublisherCC String: Código de dos letras ISO 3166-1 alfa-2 - Defecto: AA (desconocido)
IABTCF_PurposeOneTreatment Number:

0 - no hay un tratamiento especial para el propósito uno

1 - propósito uno no revelado

Desestablecer predeterminado - 0

Los proveedores pueden usar este valor para determinar si se requiere el consentimiento para el propósito uno.

IABTCF_UseNonStandardStacks Number:

1 - CMP usó una pila no estándar

0 - CMP no usó una pila no estándar

IABTCF_TCString String: Cadena TC codificada completa
IABTCF_VendorConsents Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de consentimiento para la identificación del proveedor n + 1; false y true respectivamente. p.ej. '1' en el índice 0 es consentimiento true para la identificación del proveedor 1
IABTCF_VendorLegitimateInterests Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de interés legítimo para la identificación del proveedor n + 1; false y true respectivamente. p.ej. '1' en el índice 0 se establece un interés legítimo true para la identificación del proveedor 1
IABTCF_PurposeConsents Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de consentimiento para la identificación del propósito n + 1; false y true respectivamente. p.ej. '1' en el índice 0 es consentimiento true para fines de identificación 1
IABTCF_PurposeLegitimateInterests Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de interés legítimo para la identificación del propósito n + 1; false y true respectivamente. p.ej. '1' en el índice 0 se establece un interés legítimo true para fines de identificación 1
IABTCF_SpecialFeaturesOptIns Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de suscripción para ID de función especial n + 1; false y true respectivamente. p.ej. '1' en el índice 0 es opt-in true para ID de función especial 1
IABTCF_PublisherRestrictions{ID} String ['0','1', or '2']: El valor en la posición n - dónde nLa indexación comienza en 0 - indica el tipo de restricción del editor (0-2) para el proveedor n + 1; (consulte Tipos de restricciones de editor). p.ej. '2' en el índice 0 es restrictionType 2 para la identificación del proveedor 1. {ID} se refiere a la identificación del propósito.
IABTCF_PublisherConsent Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de consentimiento del propósito para la identificación del propósito n + 1 para el editor, ya que corresponden a los propósitos de la Lista global de proveedores; false y true respectivamente. p.ej. '1' en el índice 0 es consentimiento true para fines de identificación 1
IABTCF_PublisherLegitimateInterests Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de interés legítimo del propósito para la identificación del propósito n + 1 para el editor, ya que corresponden a los propósitos de la Lista global de proveedores; false y true respectivamente. p.ej. '1' en el índice 0 se establece un interés legítimo true para fines de identificación 1
IABTCF_PublisherCustomPurposesConsents Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de consentimiento del propósito para la ID de propósito personalizado del editor n + 1 para el editor; false y true respectivamente. p.ej. '1' en el índice 0 es consentimiento true para ID de propósito personalizado 1
IABTCF_PublisherCustomPurposesLegitimateInterests Binary String: Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de interés legítimo de propósito para la identificación de propósito personalizado del editor n + 1 para el editor; false y true respectivamente. p.ej. '1' en el índice 0 se establece un interés legítimo true para ID de propósito personalizado 1
Volver