Cómo detectar el uso de AdBlock

No es ninguna novedad que la gran mayoría de los sitios web generan ingresos mediante la publicidad. Claro está que sin ella muchos no existirían. Adblock puede ser una bendición para muchas personas que son constantemente bombardeadas por molesta publicidad. Sin embargo, puede afectar negativamente a muchos sitios que generan ingresos mediante publicidad y la emplean de forma no intrusiva.

En primer lugar, una mecánica que cada vez se utiliza más es la de mostrar una alerta a aquellos visitantes que emplean Adblock. Allí, se explica ciertamente lo importante que resulta la publicidad para los que mantenemos sitios web de acceso gratuito. En algunos casos mostrando un simple mensaje, en otros directamente impidiendo que se continúe navegando por el sitio sin antes pausar Adblock, cosa que a mi tampoco me termina de convencer, pero bueno cada uno hace de sus sitios su mundo, no hace falta ni decirlo.

detectar el uso de AdBlock

Detectar Adblock no es del todo sencillo, con el tiempo este complemento fue haciendo que sea más difícil su detección, no obstante existe una biblioteca llamada BlockAdBlock, la misma permite detectar si nuestros visitantes tienen bloqueada la publicidad o no, además podemos realizar distintas acciones según decidamos, por ejemplo, mostrando un mensaje de alerta.

Cómo detectar el uso de AdBlock

1.Instalación

En primer término, tenemos a nuestra disposición tres formas distintas: manualmente, descargando el archivo js y agregando la ruta en nuestro sitio web, o utilizando Bower o NPM.

Instalación empleando Bower:

bower install blockadblock

Instalación empleando NPM:

npm install blockadblock

2. Código de ejemplo:

// Comprobamos si no esta activo Adblock
function adBlockNotDetected() {
    alert('AdBlock is not enabled');
}
// Comprobamos si esta activo Adblock
function adBlockDetected() {
    alert('AdBlock is enabled');
}

// Este condicional prevé que Adblock decide anular
// la biblioteca de detección
if(typeof blockAdBlock === 'undefined') {
    adBlockDetected();
} else {
    blockAdBlock.onDetected(adBlockDetected);
    blockAdBlock.onNotDetected(adBlockNotDetected);
    // and|or
    blockAdBlock.on(true, adBlockDetected);
    blockAdBlock.on(false, adBlockNotDetected);
    // and|or
    blockAdBlock.on(true, adBlockDetected).onNotDetected(adBlockNotDetected);
}

// Opciones disponibles de configuración
blockAdBlock.setOption('checkOnLoad', false);
// configuración alternativa
blockAdBlock.setOption({
    debug: true,
    checkOnLoad: false,
    resetOnEnd: false
});

Pues bien, este proyecto cuenta con varias opciones de configuración. Permitiendo como resultado que su funcionamiento pueda ser adaptado perfectamente a prácticamente cualquier escenario posible.

Por último, en el apartado de Github pueden encontrar más información, incluso pueden encontrar el proyecto original (que tiene un nombre poco conveniente :P).

Web: BlockAdBlock

Categorizado en: