Acceso a los valores de consentimiento
El SDK establecerá los valores de preferencias compartidas para IAB TCF v1 e IAB TCF v2. Estos valores se pueden leer utilizando 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 del SDK de CMP |
IABTCF_PolicyVersion |
Number: El entero sin signo que representa la versión del TCF a la que se adhieren estos consentimientos. |
IABTCF_gdprApplies |
Number:
Sin definir – indeterminado (valor predeterminado antes de la inicialización) |
IABTCF_PublisherCC |
String: Código ISO 3166-1 alfa-2 de dos letras – Valor predeterminado: AA (desconocido) |
IABTCF_PurposeOneTreatment |
Number:
Valor predeterminado no establecido – Los proveedores pueden utilizar este valor para determinar si se requiere el consentimiento para el propósito uno. |
IABTCF_UseNonStandardStacks |
Number:
|
IABTCF_TCString |
String: Cadena TC codificada completa |
IABTCF_VendorConsents |
Binary String: El '0' o '1' en la posición n – donde la indexación de n comienza en 0 – indica el estado de consentimiento para el ID de proveedor n+1; false y true respectivamente. Por ejemplo, '1' en el índice 0 es consentimiento true para el ID de proveedor 1
|
IABTCF_VendorLegitimateInterests |
Binary String: El '0' o '1' en la posición n – donde la indexación de n comienza en 0 – indica el estado de interés legítimo para el ID de proveedor n+1; false y true respectivamente. Por ejemplo, '1' en el índice 0 se establece el interés legítimo true para el ID de proveedor 1
|
IABTCF_PurposeConsents |
Binary String: El '0' o '1' en la posición n – donde la indexación de n comienza en 0 – indica el estado del consentimiento para el ID de finalidad n+1; false y true respectivamente. Por ejemplo, '1' en el índice 0 es consentimiento true para el ID de finalidad 1
|
IABTCF_PurposeLegitimateInterests |
Binary String: El '0' o '1' en la posición n – donde la indexación de n comienza en 0 – indica el estado de interés legítimo para el ID de finalidad n+1; false y true respectivamente. Por ejemplo, '1' en el índice 0 se establece el interés legítimo true para la finalidad con ID 1
|
IABTCF_SpecialFeaturesOptIns |
Binary String: El '0' o '1' en la posición n – donde la indexación de n comienza en 0 – indica el estado de aceptación de la función especial ID n+1; false y true respectivamente. Por ejemplo, '1' en el índice 0 es de participación true para el ID de característica especial 1
|
IABTCF_PublisherRestrictions{ID} |
String ['0','1', or '2']: El valor en la posición n – donde la indexación de n comienza en 0 – indica el tipo de restricción del editor (0-2) para el proveedor n+1; (véase Tipos de restricciones del editor). p. ej. '2' en el índice 0 es el tipo de restricción 2 para el ID de proveedor 1. {ID} se refiere al ID de finalidad. |
IABTCF_PublisherConsent |
Binary String: El '0' o '1' en la posición n —donde la indexación de n comienza en 0 – indica el estado de consentimiento de la finalidad para el ID de finalidad n+1 para el editor, ya que se corresponden con las finalidades de la Lista Global de Proveedores; false y true respectivamente. Por ejemplo, '1' en el índice 0 es el consentimiento true para el ID de finalidad 1
|
IABTCF_PublisherLegitimateInterests |
Binary String: El '0' o '1' en la posición n – donde la indexación de n comienza en 0 – indica el estado de interés legítimo de la finalidad para la ID de finalidad n+1 para el editor, ya que se corresponden con las finalidades de la Lista Global de Proveedores; false y true respectivamente. Por ejemplo, '1' en el índice 0 se establece el interés legítimo true para la ID de finalidad 1
|
IABTCF_PublisherCustomPurposesConsents |
Binary String: El '0' o '1' en la posición n – donde la indexación de n comienza en 0 – indica el estado de consentimiento de la finalidad para el ID de finalidad personalizada n+1 del editor; false y true respectivamente. p. ej. '1' en el índice 0 es consentimiento true para el ID de finalidad personalizada 1
|
IABTCF_PublisherCustomPurposesLegitimateInterests |
Binary String: El '0' o '1' en la posición n – donde la indexación de n comienza en 0 – indica el estado de interés legítimo de la finalidad para el ID de finalidad personalizada n+1 del editor; false y true respectivamente. p. ej. '1' en el índice 0 se establece el interés legítimo true para el ID de propósito personalizado 1
|