Bloqueio de anúncios do IMA SDK, explicado

O Google IMA SDK é a biblioteca que os players de vídeo usam para solicitar e reproduzir anúncios. Bloqueá-lo no nível de rede quebra os players; por isso, o AdOff o substitui por um *stub* que responde a cada solicitação de anúncio com um evento imediato de “retomar o conteúdo”: o player funciona, mas os anúncios nunca carregam.

O que o SDK do IMA realmente é

O SDK de Anúncios de Mídia Interativa (IMA) é a biblioteca do lado do cliente do Google para publicidade em vídeo. Um site que deseja monetizar um vídeo normalmente não constrói seu próprio reprodutor de anúncios: ele carrega imasdk.googleapis.com/js/sdkloader/ima3.js (ou a variante dinâmica ima3_dai.js), inicializa um AdDisplayContainer e passa ao SDK uma URL de tag de anúncio. O SDK então busca uma resposta VAST, exibe o anúncio dentro do reprodutor, rastreia impressões e quartis, e finalmente devolve o controle ao conteúdo do editor.

Como é um único script compartilhado servido de um único domínio, o SDK do IMA é o ponto de estrangulamento mais crítico no publicidade de vídeo na web: neutralizá-lo uma única vez faz com que todos os players construídos sobre ele parem de exibir anúncios.

O ciclo de vida de uma solicitação de anúncio

Quando um espectador clica em reproduzir, o player normalmente executa esta sequência:

  1. A página carrega o arquivo ima3.js dos servidores do Google.
  2. O player cria um carregador de anúncios e solicita anúncios por meio de uma tag de anúncio que aponta para um servidor de anúncios.
  3. O SDK busca o anúncio (geralmente um documento VAST/VMAP por meio do DoubleClick), o analisa e renderiza a mídia do anúncio em um contenedor sobreposto ao vídeo.
  4. Pixels de rastreamento são acionados; o player aguarda.
  5. Quando o anúncio termina (ou ocorre um erro), o SDK aciona o evento CONTENT_RESUME_REQUESTED, e o player retoma o vídeo original.

O último evento é o ponto crucial: o player é programado para aguardá-lo. Quem controla o SDK controla quando o conteúdo é retomado.

Por que simplesmente bloquear o SDK quebra os players

A abordagem bruta é bloquear imasdk.googleapis.com no nível de rede e encerrar por aí. O problema: muitos players interpretam uma falha ou ausência do SDK como um erro fatal e se recusam a iniciar o vídeo por completo, exibindo um carregamento em spinner ou uma tela de bloqueio (“bloqueador de anúncios detectado”) em vez do conteúdo.

É por isso que os bloqueadores clássicos no nível de rede são fracos contra anúncios em vídeo: eles podem interromper a solicitação do anúncio, mas não conseguem responder à pergunta do player “posso retomar agora?”. Apenas algo que atue em nome do SDK consegue fazer isso.

Neutralização por substituição: a abordagem do stub

O AdOff segue um caminho diferente: em vez de bloquear o SDK, ele o substitui. Um "stub" que imita a API pública do IMA SDK é inserido no lugar, de modo que o player ainda "enxerga" um SDK funcional — um que se comporta como se cada intervalo publicitário estivesse vazio.

Quando o player chama adsManager.start(), o stub imediatamente emite CONTENT_RESUME_REQUESTED. O player retoma o conteúdo instantaneamente. Nenhum anúncio é buscado, nenhum anúncio é renderizado e o player nunca entra em um estado de erro, pois nunca percebe que algo está faltando.

Dois canais de entrega para o mesmo stub

O AdOff envia o mesmo stub por dois canais, pois diferentes sites carregam o SDK de maneiras distintas:

Ambos os canais convergem para o mesmo resultado: o jogador recebe um SDK responsivo e o espectador recebe conteúdo.

Onde essa abordagem atinge e onde não atinge

O stub neutraliza a publicidade baseada em IMA no lado do cliente. Ele não afeta a inserção de anúncios no lado do servidor (SSAI), na qual os anúncios são integrados diretamente ao fluxo de vídeo antes da entrega — não há chamada de SDK para interceptar. Serviços de assinatura premium que utilizam suas próprias pipelines de publicação são deliberadamente excluídos, para que seus players continuem funcionando.

A principal plataforma de vídeos também recebe um pipeline dedicado acima: a programação de anúncios é removida da resposta do player antes que a página a leia, e qualquer coisa que passe despercebida é avançada rapidamente.

Por que isso importa para o futuro do bloqueio de anúncios

As plataformas de anúncios continuam transferindo a prioridade para SDKs do lado do cliente justamente porque bloqueadores ingênuos têm dificuldade com eles. Uma abordagem que responde ao jogador em vez de privá-lo de conteúdo é robusta: ela não depende da enumeração de todos os URLs de anúncios, mas sim do próprio contrato do SDK, que exige que o conteúdo seja retomado.

O AdOff é uma extensão gratuita, sem necessidade de conta, baseada no Manifest V3, compatível com Chrome, Firefox, Safari, Edge e Opera, e sua camada de neutralização de vídeos está incluída para todos.

Perguntas frequentes

Bloquear o SDK do IMA é o mesmo que substituí-lo?

Não. Bloqueá-lo no nível de rede frequentemente impede que o vídeo seja reproduzido, pois os players aguardam que o SDK sinalize que o conteúdo pode retomar. Substituí-lo por um *stub* mantém o player totalmente funcional, garantindo que nenhum anúncio seja solicitado.

O que acontece quando o stub recebe uma solicitação de anúncio?

O *stub* expõe a mesma superfície de API que os players esperam. Quando solicitado a iniciar anúncios, ele imediatamente dispara o evento de retomada do conteúdo, permitindo que a reprodução continue sem que nenhum anúncio seja buscado ou exibido.

Um stub do IMA funciona contra a inserção de anúncios no lado do servidor?

Não. Com SSAI (Server-Side Ad Insertion), os anúncios são integrados ao fluxo de vídeo no servidor antes da entrega, de modo que não há chamada de SDK no lado do cliente para ser interceptada. A inserção no lado do servidor exige contramedidas distintas e está fora do escopo que uma extensão de navegador pode abordar.

Quais navegadores podem executar esse tipo de extensão?

O AdOff é construído com Manifest V3 e funciona no Chrome, Firefox, Safari, Edge e Opera. A camada de neutralização do IMA está incluída na versão gratuita, sem necessidade de conta ou registro.

Um site pode detectar que o SDK foi substituído?

Esse é exatamente o propósito da camada *stealth*: *spoofing* de iscas e interceptação de *fetch/XHR* fazem com que o ambiente pareça comum para scripts antipropaganda. Nenhum método é permanente, pois as plataformas alteram frequentemente seus métodos de detecção.

Saiba mais: Bloqueio de anúncios em streaming: o guia completo, Pré-roll, meio-roll, pós-roll: formatos de anúncios em vídeo explicados, Como o AdOff funciona, camada por camada.

Veja-o em ação em players reais

O AdOff substitui o SDK de anúncios por um stub de retomada instantânea, gratuito para todos, sem necessidade de conta.

Instale o AdOff gratuitamente