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 :
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 :
Desestablecer predeterminado - Los proveedores pueden usar 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 : 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
|