Cambios en la API JS del marco CMP de la IAB

Importante: si se utilizan ajustes de CMP que no cumplen con el IAB TCF, el sistema desactivará automáticamente algunos comandos. Los comandos estándar del IAB TCF (p. ej. getVendorConsents) solo estarán disponibles a través del nombre del comando con prefijo (p. ej. noncompliant_getVendorConsents en lugar de getVendorConsents). Puede encontrar más información sobre el cumplimiento del TCF aquí.

Para permitir una mayor flexibilidad, hemos añadido algunas extensiones a nuestra implementación de la API JS del IAB CMP Framework. Estas son:

Orden

Descripción

__cmp(...)

La función global __cmp siempre devolverá también el objeto/resultado del comando en lugar de limitarse a pasarlo a la función de llamada de retorno.

__cmp( … , … , …, async)

La función global __cmp se amplía con un cuarto parámetro. Si está presente y se establece en false, la función de llamada de retorno se ejecutará inmediatamente y no se pondrá en cola.

__cmp("addEventListener", …)  __cmp("removeEventListener", …)

Véase la sección Eventos CMP.

__cmp("getVendorConsents", …)

Equivalente a IAB getVendorConsents, pero además devuelve customPurposeConsents, customVendorConsents y googleVendorConsents propiedades

__tcfapi("getTCData", …)

Equivalente a IAB getTCData, pero también devuelve customPurposeConsents, customVendorConsents y googleVendorConsents propiedades


Ejemplo:

<script>
  var vendorid = 3; //vendor number 3
  var purposeid = 1; //allow cookies
  var x = __cmp("consentStatus", null, null, false);
  if(typeof(x) == 'object' && "consentExists" in x && x.consentExists)
  { 
    //consent data is present, check if consent for vendor is given 
    var y = __cmp("getVendorConsents", new Array(vendorid), null, false); 
    if(typeof(y) == 'object' && "gdprApplies" in y && (!y.gdprApplies || (y.vendorConsents[vendorid] && y.purposeConsents[purposeid]))) 
    {  
      //everything is fine! 
    }
  }
</script> 

(Asegúrate de eliminar los saltos de línea incorrectos al copiar el texto anterior)

El ejemplo anterior muestra un código de muestra sobre cómo puedes comprobar si la cadena de consentimiento está presente y si se ha dado el consentimiento para un proveedor y un fin determinados de forma sincrónica.

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!