Pular para o conteúdo
AppFoyer
Começar

Guias app-ads.txt

O que é o app-ads.txt e onde ele precisa ficar

O arquivo em um parágrafo, o formato da linha campo a campo, a regra sobre onde ele fica que decide se tudo funciona, e o que fazer sem um site.

O app-ads.txt é um arquivo de texto simples que lista as empresas de anúncios autorizadas a vender o inventário do seu app. Ele fica em /app-ads.txt no site informado na página da sua loja, e as redes o buscam para verificar se os vendedores estão autorizados. Um subdomínio de plataforma funciona: a AdMob verifica arquivos em subdomínios da AppFoyer. Sem anúncios, o arquivo não é necessário.

1:22
Vídeo de 1:22 · abre no YouTube

Resolva isso em poucos minutos

A AppFoyer hospeda as páginas de que este guia trata — política de privacidade, termos, suporte, exclusão de conta e app-ads.txt — em um subdomínio próprio, sem que você precise de domínio ou servidor. Um app é grátis, e nada que uma loja exige jamais fica atrás de um paywall.

Verificado em 12 de outubro de 2026. As políticas das lojas mudam, às vezes sem aviso. Tudo abaixo tem link para a documentação oficial, e é aquela página — não esta — que tem a palavra final. Se as duas divergirem, vale o que a loja diz. Este guia foi traduzido do inglês; as citações da documentação das lojas são mantidas no inglês original.

O app-ads.txt é um arquivo de texto simples que lista as empresas de anúncios autorizadas a vender o inventário de anúncios do seu app. Ele fica em /app-ads.txt no site que você declarou na página da sua loja, e as redes de anúncios o buscam para verificar se quem está oferecendo o seu inventário é realmente autorizado por você. Sem ele, um comprador não tem como confirmar isso, e esse é o motivo inteiro de o padrão existir.

Se você não exibe anúncios no seu app, não precisa desse arquivo. Se exibe, leva uns dez minutos — e nove deles vão para acertar a localização, que é a única parte que dá errado com frequência.

Que problema ele resolve

O inventário de anúncios é revendido. Em algum ponto entre o seu app e o anunciante existem exchanges, revendedores e intermediários, e até o ads.txt e seu irmão para apps existirem não havia uma forma barata de um comprador distinguir “este é mesmo o inventário daquele app” de “alguém está dizendo que vende esse inventário”. A fraude funcionava porque a alegação não podia ser verificada.

A solução é deliberadamente simples: o publisher publica a lista de quem pode vender em nome dele, em um endereço que só o publisher controla. O comprador busca o arquivo e compara. Esse é o mecanismo inteiro, e é por isso que o endereço importa mais do que o conteúdo — um arquivo que qualquer pessoa pudesse ter colocado ali não provaria nada.

O formato da linha

Um vendedor autorizado por linha, três campos obrigatórios e um opcional, separados por vírgula:

google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0
CampoSignificado
google.comO domínio do sistema de anúncios — o domínio canônico da própria rede, não o seu.
pub-0000000000000000O seu ID de publisher nessa rede. Copie do painel dela.
DIRECT ou RESELLERDIRECT se você tem um contrato direto com ela; RESELLER se você a autorizou a revender.
f08c47fec0942fa0ID opcional da autoridade de certificação, quando a rede publica um.

Tudo o que vem depois de # é comentário. Linhas que começam com contact=, subdomain=, inventorypartnerdomain= e similares são variáveis, não registros de vendedores, e são deixadas como estão.

Dois erros respondem pela maioria dos arquivos quebrados: uma vírgula faltando, que torna a linha inteira ilegível para o parser, e colar o ID de publisher de outra pessoa tirado de um fórum de suporte, o que autoriza um desconhecido a vender o seu inventário. O painel de cada rede mostra a linha exata que ela quer — use essa, não um modelo.

Onde ele precisa ficar — a parte que decide tudo

O crawler não conhece o nome do seu pacote e não procura você pelo app. Ele lê a URL do site do desenvolvedor na página da sua loja e busca /app-ads.txt na raiz desse domínio. Erre a URL na página da loja e um arquivo perfeitamente correto fica invisível.

A AdMob documenta as regras de sondagem, e vale lê-las uma vez em vez de tentar adivinhar:

  • O diretório raiz significa “the directory following the top level domain” (o diretório que vem logo após o domínio de nível superior) — example.com/app-ads.txt, e não example.com/some/path/app-ads.txt.
  • Os crawlers “probe up to one subdomain level from the developer website when constructing an app-ads.txt URL” (sondam até um nível de subdomínio a partir do site do desenvolvedor ao montar a URL do app-ads.txt). Para uma página da loja que aponta para support.help.example.com/game, o próprio exemplo da AdMob mostra a tentativa em help.example.com/app-ads.txt e em example.com/app-ads.txt.
  • www. e m. são excluídos como localizações de subdomínio, então eles se reduzem ao próprio domínio.

Além do endereço, a forma de servir precisa estar corretíssima, sem surpresas: HTTP 200, Content-Type: text/plain, nenhum redirecionamento antes dele, nenhum login, nenhum JavaScript renderizando o arquivo, nada no robots.txt bloqueando. Um arquivo que só aparece depois de um redirecionamento de http para https, ou do domínio raiz para www, é uma falha comum e totalmente invisível.

Verifique como um crawler faria:

curl -i https://your-domain.example/app-ads.txt

Você quer 200 OK, text/plain, nenhum cabeçalho Location: e as suas linhas no corpo.

“Mas eu não tenho um site”

Esse é o caso normal para um desenvolvedor indie, e é por isso que tantos apps não têm arquivo nenhum.

O requisito é um hostname que você controla e que serve um arquivo — não é um requisito de ter um site de divulgação, um domínio de empresa ou uma landing page. A AdMob diz isso diretamente: “If you don’t have a suitable website that allows the uploading of an app-ads.txt file at the root level, you can use Firebase Hosting to host your app-ads.txt file.” (Se você não tem um site adequado que permita enviar um arquivo app-ads.txt no nível da raiz, pode usar o Firebase Hosting para hospedar o seu arquivo app-ads.txt.) Hospedagem em plataforma é esperada, não é um improviso. O guia para quem não tem site apresenta as opções.

Seja qual for a sua escolha, duas coisas precisam continuar verdadeiras por mais tempo do que uma semana de lançamento: o endereço precisa permanecer o mesmo, porque ele está impresso em uma página da loja em que você não vai voltar a pensar, e ele precisa continuar servindo texto simples sem que um redirecionamento se infiltre na frente dele na primeira vez que alguém “melhorar” a configuração.

Quando você muda algo, nada acontece imediatamente

As redes de anúncios refazem o rastreamento no próprio ritmo. A AdMob afirma que “it can take up to 24 hours for AdMob to crawl and verify your app-ads.txt files” (pode levar até 24 horas para a AdMob rastrear e verificar seus arquivos app-ads.txt), e outras redes são mais lentas. Um arquivo enviado há uma hora que ainda aparece como ausente quase sempre é só cedo demais — veja o guia de arquivo não encontrado antes de mudar qualquer outra coisa.

O que a AppFoyer faz aqui

A página do seu app serve o app-ads.txt no próprio subdomínio — texto simples, 200, sem redirecionamento, com os cabeçalhos que a especificação pede — e o editor valida cada linha enquanto você digita, então uma vírgula faltando é detectada antes que um crawler a veja. Você define esse subdomínio como o site do desenvolvedor na página da sua loja, um nível abaixo de appfoyer.page.

A AdMob o verifica ali: em outubro de 2026, ela informou “app-ads.txt file found and verified” (arquivo app-ads.txt encontrado e verificado) para apps cujo site do desenvolvedor é um endereço da AppFoyer. Ainda não temos nenhum resultado de rastreamento próprio de outras redes de anúncios.

As fontes oficiais