Modifications apportées à l'API JS du cadre CMP de l'IAB

Important : si les paramètres CMP utilisés ne sont pas conformes à l'IAB TCF, le système désactivera automatiquement certaines commandes. Les commandes IAB TCF standard (par exemple getVendorConsents) ne seront alors disponibles qu'avec un préfixe (par exemple noncompliant_getVendorConsents au lieu de getVendorConsents). Vous trouverez plus d’informations sur la conformité TCF ici.

Afin d'offrir plus de flexibilité, nous avons ajouté quelques extensions à notre implémentation de l'API JS du cadre CMP de l'IAB. Il s'agit des suivantes :

Commande

Description

__cmp(...)

La fonction globale __cmp renvoie toujours l'objet/le résultat de la commande au lieu de simplement le transmettre à la fonction de rappel.

__cmp( … , … , …, async)

La fonction __cmp est étendue par un quatrième paramètre. S’il est présent et défini sur false, la fonction de rappel se déclenchera immédiatement et ne sera pas mise en file d’attente.

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

Voir la section Événements CMP.

__cmp("getVendorConsents", …)

Équivalent à IAB getVendorConsents mais renvoie également customPurposeConsents, customVendorConsents et googleVendorConsents propriétés

__tcfapi("getTCData", …)

Équivalent à IAB getTCData mais renvoie également customPurposeConsents, customVendorConsents et googleVendorConsents propriétés


Exemple :

<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> 

(Veuillez vous assurer de supprimer les sauts de ligne incorrects lorsque vous copiez le texte ci-dessus)

L'exemple ci-dessus montre un exemple de code permettant de vérifier si la chaîne de consentement est présente et si le consentement est donné pour un fournisseur et une finalité donnés de manière synchrone.

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!