SmartTV & HbbTV: Eventos

SmartTV & HbbTV: Eventos

Eventos predefinidos por IAB

Una vez ha cargado el CMP, se crea el método __tcfapi, que sirve para recuperar la cadena de consentimiento, obtener el consentimiento de un propósito concreto, etc. La definición completa y todos los comandos estándar de la IAB disponibles se pueden encontrar en el siguiente enlace.

El CMP lanza una serie de eventos predefinidos por la IAB para detectar lo siguiente:
  1. Carga del CMP y de la cadena de consentimiento (evento 'tcloaded')
  2. CMP abierto (evento 'cmpuishown')
  3. Guardado de la cadena (evento 'useractioncomplete')
Estos eventos se captan con el método __tcfapi con el comando 'addEventListener'.

Ejemplo:
El CMP se ejecuta en un dispositivo de TV, no se puede usar javascript ES6: funciones flecha, const, let, etc. Se debe usar ES5.
  1. function tcLoadedCallback (tcData, success)  {   
  2.                                                                                                     
  3.   if(success && tcData.eventStatus == 'tcloaded') {

  4.     // hacer algo con tcData.tcString

  5.     // eliminamos el listener si no queremos que se dispare más
  6.     __tcfapi('removeEventListener', 2, function(success)  {

  7.       if(success) {
  8.         // hacer algo  
  9.       }

  10.     }, tcData.listenerId);

  11.   } else {
  12.     // hacer otra cosa
  13.   }

  14. }

  15. __tcfapi('addEventListener', 2, tcLoadedCallback);

Eventos personalizados de Sibbo

El CMP lanza una serie de eventos personalizados para detectar lo siguiente:
  1. 'sibbo-init' Este evento se envía en el elemento document cuando el CMP loader ha finalizado la inicialización y __tcfapi ahora está disponible
  2. 'sibbo-close' Este evento se envía en el elemento window cuando se cierra el CMP
  3. 'sibbo-tcs-saved' Este evento se envía en el elemento document cuando el CMP guarda el TCS.
  4. 'sibbo-main' Este evento se envía en el elemento document cuando el CMP muestra el banner inicial.
  5. 'sibbo-purposes' Este evento se envía en el elemento document cuando el CMP muestra propósitos basados ​​en la vista de consentimiento.
  6. 'sibbo-purposesLegInt' Este evento se envía en el elemento document cuando el CMP muestra propósitos basados ​​en la vista de interés legítimo.
  7. 'sibbo-vendors' Este evento se envía en el elemento document cuando el CMP muestra la vista de proveedores.
  8. 'sibbo-privacyPolicyEste evento se envía en el elemento document cuando el CMP muestra la vista de la política de privacidad.
  9. 'sibbo-cookiesPolicyEste evento se envía en el elemento document cuando el CMP muestra la vista de política de cookies
  10. 'sibbo-privacyCookiesPolicyEste evento se envía en el elemento document cuando el CMP muestra la vista de política de privacidad y cookies.
  11. 'sibbo-termsAndConditionsEste evento se envía en el elemento document cuando el CMP muestra la vista de términos y condiciones.
  12. 'sibbo-additionalConsentProviders' Este evento se envía en el elemento document cuando el CMP muestra la vista de proveedores de consentimiento adicionales de Google.
Ejemplos:
El CMP se ejecuta en un dispositivo de TV, no se puede usar javascript ES6: funciones flecha, const, let, etc. Se debe usar ES5.
  1. function sibboInitCallback()  {
  2.   // el CMP se ha inicializado
  3.   // hacer algo
  4. }

  5. document.addEventListener('sibbo-init', sibboInitCallback);

  1. function sibboCloseCallback()  {
  2.   // el CMP se ha cerrado
  3.   // hacer algo
  4. }

  5. document.addEventListener('sibbo-close', sibboCloseCallback);