Wydarzenia CMP

Aby otrzymywać powiadomienia o wystąpieniu określonych zdarzeń, możesz skorzystać z następujących metod JavaScript:

  • __cmp("addEventListener",["eventname",callableFunction,capture],null)
  • __cmp("removeEventListener",["eventname",callableFunction,capture],null)
  • __tcfapi("addEventListener",2, callableFunction)
  • __tcfapi("removeEventListener",2, callableFunction, listenerId)

CMP może wywoływać następujące zdarzenia:

Wydarzenie

Opis

init

Kod CMP został załadowany, a kod zastępczy został usunięty. Na tym etapie CMP nie posiada jeszcze informacji o zgodzie.

settings

CMP zakończył ładowanie swoich ustawień. Jeśli ciąg zgody już istniał, dane dotyczące zgody można teraz odczytać z CMP.

consentscreen

CMP wyświetla ekran zgody

consentscreenoff

CMP usuwa ekran zgody

consentscreencustom

CMP wyświetla stronę z opcjami niestandardowymi

consent

CMP uzyskało zgodę lub znaleziono istniejący plik cookie. Dane dotyczące zgody można teraz odczytać z CMP.

consentapproved

Odwiedzający wyraził zgodę na wszystkie podmioty/cele

consentrejected

Odwiedzający odrzucił wszystkich dostawców i cele

consentcustom

Odwiedzający wyraził niestandardową zgodę (akceptacje i odrzucenia)

liestablished

Wyświetlono ekran zgody, ustalono prawnie uzasadniony interes dla tego użytkownika.

vendorconsent

Odwiedzający zaakceptował element treści dynamicznej. Identyfikator dostawcy zaakceptowanego elementu można znaleźć w zmiennej podtypu.

gpp

Różne zdarzenia dla standardu IAB GPP

tcfv2

Różne zdarzenia dla standardu IAB TCF

loadShowing

Po zakończeniu ładowania (patrz zdarzenie settings) i system zdecydował o wyświetleniu warstwy zgody.

loadNotShowing

Po zakończeniu ładowania (patrz zdarzenie settings) i system zdecydował, że nie wyświetli warstwy treści.

Obsługa zdarzeń jest zdefiniowana jako:

var handler = function (eventname, cmpobject, subtype){…} 

Ostrzeżenie: Nie używaj już cmpobject . Ta funkcja jest przestarzała. Zamiast tego używaj wywołań API.

Przykład:

<script>
  function getInfos(e,o)
  {     
    var result = __cmp('getCMPData');
    /*... do something with result ...*/
  }
  __cmp("addEventListener",["consent",getInfos,false],null);
</script>

Należy pamiętać, że polecenie addEventListener w IAB TCF v2 reaguje tylko na podzbiór zdarzeń.

Przykłady

Przekierowanie odwiedzającego na inną stronę internetową, jeśli nie wyrazi zgody

Należy pamiętać, że takie postępowanie nie jest zalecane i może spowodować problemy prawne!

<script>
  function getInfos(e,o)
  { 
    location.href = "https://www.mywebsite.com/alternative-content.html";
  }
  __cmp("addEventListener",["consentrejected",getInfos,false],null);
</script>

Wyświetlanie komunikatu, jeśli odwiedzający odrzucił

<div id="mymessage" style="display:none; position:fixed; left:calc(50% - 300px); top:calc(50% - 200px); width:600px; height:400px; background-color: #fff0c7; padding: 20px; box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);"><b>Please consider</b><br>Our website is mainly financed by online advertising. Without consent we will not be able to show you tailored ads and our ad revenue will be much lower. As we respect your choice we like to ask you, if you maybe like to donate 1 EUR instead? This will help us keep the quality of our service up.<br>
<br>
  <a href="donate.html"><b>Donate 1 EUR now!</b></a><br>
<br>
  <a href="#" onclick="document.getElementById('mymessage').style.display = 'none';">No, thanks!</a>
</div>
<script>
  function getInfos(e,o){ document.getElementById('mymessage').style.display = 'block';}
  __cmp("addEventListener",["consentrejected",getInfos,false],null);
</script>

Przesuwanie treści strony w dół po otwarciu okienka zgody

<script>
 var iscmpopen = false;

 function handleSize()
 {
  if(iscmpopen)
  {
   document.body.style.paddingTop = document.getElementById('cmpbox').offsetHeight + 'px';
  }
  else
  {
   document.body.style.paddingTop = 'inherit';
  }
 }

 function pushDown(e, o)
 {
  iscmpopen = true;
  handleSize();
 }

 function pushUp(e, o)
 {
  iscmpopen = false;
  handleSize();
 }

 window.addEventListener('resize', handleSize, false);
 window.addEventListener('load', handleSize, false);

 __cmp('addEventListener', ['consentscreen', pushDown, false], null);
 __cmp('addEventListener', ['consentscreenoff', pushUp, false], null);
</script>

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!