Referencia de la Detection API
Referencia de la Detection API
El contrato para usar AntiAdBlock Core como detector headless. El mismo motor multi-señal se ejecuta, emite un resultado y no muestra nada. Tu código decide el resto.
Cómo activarla
La Detection API es un ajuste por sitio en los planes Max y Business. Cambia un sitio a este modo desde la tarjeta Modo del script de tu panel. No hace falta una etiqueta nueva: tu etiqueta script async actual empieza a emitir el resultado en lugar de mostrar el overlay de recuperación.
El payload del resultado
Cada resultado es un objeto congelado con exactamente cuatro claves. Llega a tu código mediante el evento aabc:detection, el callback AABC_ON_DETECT o el snapshot AABC_DETECTION que se describen abajo.
| Campo | Tipo | Valores |
|---|---|---|
| detected | boolean | true, falseSi se confirmó un bloqueador en esta visita. |
| blockerType | string | null | extension, brave_shields, browser_protection, network_dns, unknown, nullQué está bloqueando. null cuando detected es false. El bloqueo a nivel de red y DNS ocurre fuera del navegador y normalmente no se puede desactivar con un clic. |
| path | string | null | A, B, C, FORCE, nullQué umbral de detección confirmó el resultado. null cuando detected es false. FORCE es el disparador manual de prueba de más abajo. |
| browser | string | chromium, firefox, edge, brave, webkit, otherLa familia del navegador del visitante, útil para adaptar tu propia respuesta. |
Ejemplo
{ "detected": true, "blockerType": "extension", "path": "A", "browser": "chromium" }Tres formas de leer el resultado
Elige la que encaje con tu montaje. El callback es el más robusto: una llamada directa no la pueden interceptar otros scripts de la página, un evento del DOM sí.
aabc:detection
Evento de window. Añade el listener antes de nuestra etiqueta para que esté listo cuando se dispare el resultado.
window.addEventListener("aabc:detection", function (event) {
var d = event.detail; // { detected, blockerType, path, browser }
if (d.detected) {
// Your logic here.
}
});window.AABC_ON_DETECT
Callback. Define este global y lo llamamos con el mismo objeto. Recomendado por fiabilidad.
window.AABC_ON_DETECT = function (d) {
// { detected, blockerType, path, browser }
if (d.detected) {
// Your logic here.
}
};window.AABC_DETECTION
Snapshot. El último resultado se guarda en window para los listeners que se registran tarde, algo habitual en las aplicaciones de una sola página.
var d = window.AABC_DETECTION;
if (d && d.detected) {
// Your logic here.
}Cuándo se dispara
- Una vez por carga de página, tras la primera evaluación completa. Las sondas corren entre unos 0,1 y 3,6 segundos, siempre después de DOMContentLoaded.
- Se dispara incluso cuando detected es false, así que una visita sin bloqueo es una respuesta explícita, no silencio.
- Las revisiones por foco solo vuelven a emitir cuando cambian detected o blockerType. Un cambio a false te permite retirar un mensaje que ya mostraste.
El silencio no significa "sin bloqueador"
Si un sitio no está verificado, hay un kill switch activo o el visitante está marcado como bot, no se emite ningún evento. Trata la ausencia de resultado como "sin respuesta" y toma tu camino normal, sin restricciones, por defecto. Dicho de otro modo, falla en abierto.
Cómo probarla
Añade #aabc_force a cualquier URL de tu sitio para forzar un resultado positivo (detected: true, path: "FORCE") sin overlay. Es una forma de ejercitar tu propio manejador sin instalar un bloqueador.
Aplicaciones de una sola página
El resultado se dispara al cargar la página y en las revisiones por foco, no en un cambio de ruta del lado del cliente. En una SPA, lee window.AABC_DETECTION tras la navegación para obtener el último resultado conocido, y registra tu listener una sola vez en window.