Zmiany w interfejsie API JS IAB CMP Framework

Ważne: Jeśli używane są ustawienia CMP niezgodne z IAB TCF, system automatycznie wyłączy niektóre polecenia. Standardowe polecenia IAB TCF (np. getVendorConsents) będą wtedy dostępne tylko poprzez nazwę polecenia z prefiksem (np. noncompliant_getVendorConsents zamiast getVendorConsents). Więcej informacji na temat zgodności z TCF można znaleźć tutaj.

Aby zapewnić większą elastyczność, dodaliśmy kilka rozszerzeń do naszej implementacji interfejsu API IAB CMP Framework JS. Są to:

Polecenie

Opis

__cmp(...)

Globalna __cmp zawsze zwraca również obiekt/wynik polecenia, zamiast tylko przekazywać go do funkcji wywołania zwrotnego.

__cmp( … , … , …, async)

Globalna __cmp została rozszerzona o czwarty parametr. Jeśli jest obecny i ustawiony na false, funkcja wywołania zwrotnego zostanie uruchomiona natychmiast i nie zostanie umieszczona w kolejce.

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

Zobacz sekcję Zdarzenia CMP.

__cmp("getVendorConsents", …)

Odpowiada funkcji IAB getVendorConsents, ale dodatkowo zwraca customPurposeConsents, customVendorConsents i googleVendorConsents właściwości

__tcfapi("getTCData", …)

Równoważne z IAB getTCData, ale zwraca również customPurposeConsents, customVendorConsents oraz googleVendorConsents właściwości


Przykład:

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

(Pamiętaj, aby usunąć nieprawidłowe podziały wierszy podczas kopiowania powyższego tekstu)

Powyższy przykład pokazuje kod pokazujący, jak sprawdzić, czy ciąg znaków zgody jest obecny i czy zgoda została udzielona dla określonego dostawcy i celu w sposób synchroniczny.

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!