'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
'sibbo-close' Este evento se envía en el elemento window cuando se cierra el CMP
'sibbo-tcs-saved' Este evento se envía en el elemento document cuando el CMP guarda el TCS.
'sibbo-main' Este evento se envía en el elemento document cuando el CMP muestra el banner inicial.
'sibbo-purposes' Este evento se envía en el elemento document cuando el CMP muestra propósitos basados en la vista de consentimiento.
'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.
'sibbo-vendors' Este evento se envía en el elemento document cuando el CMP muestra la vista de proveedores.
'sibbo-privacyPolicy' Este evento se envía en el elemento document cuando el CMP muestra la vista de la política de privacidad.
'sibbo-cookiesPolicy' Este evento se envía en el elemento document cuando el CMP muestra la vista de política de cookies
'sibbo-privacyCookiesPolicy' Este evento se envía en el elemento document cuando el CMP muestra la vista de política de privacidad y cookies.
'sibbo-termsAndConditions' Este evento se envía en el elemento document cuando el CMP muestra la vista de términos y condiciones.
'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:
Creamos un event listener para capturar 'sibbo-init' y entonces inicializar initCMP:
- document.addEventListener('sibbo-init', initCMP);
Creamos la función initCMP para escuchar los eventos predefinidos de la IAB:
- function initCMP() {
- __tcfapi('addEventListener', 2, callbackUseractioncomplete);
- }
- document.addEventListener('sibbo-init', initCMP);
Una vez un evento predefinido por la IAB es recibido, la función callbackUseractioncomplete es ejecutada, definimos esta función:
- const callbackUseractioncomplete = (tcData, success) => {
- if(success && tcData.eventStatus === 'useractioncomplete') {
- console.log('useractioncomplete', tcData);
- // we eliminate the listener if we do not want it to fire anymore
- __tcfapi('removeEventListener', 2, (success) => {
- if(success) {
- // do something
- }
- }, tcData.listenerId);
- }
- }
- function initCMP() {
- __tcfapi('addEventListener', 2, callbackUseractioncomplete);
- }
- document.addEventListener('sibbo-init', initCMP);
En resumen:
- Escuchamos el evento 'sibbo-init'
- Al recibirlo podemos usar la función __tcfapi para escuchar eventos IAB.
- Al recibir un evento de la IAB, verificamos si el evento es 'useractioncomplete'
- Si es así tenemos el objeto tcData que, entre otras propiedades, contiene la cadena de consentimiento.