Pular para o conteúdo
AppFoyer
Começar

Guias app-ads.txt

Hospedar o app-ads.txt quando você não tem um site

Do que o rastreador realmente precisa, três formas de dar a ele um host sem criar um site, as armadilhas de redirecionamento de cada uma e como confirmar que funciona.

Você não precisa de um site, apenas de um hostname que você controla e que sirva /app-ads.txt como texto simples, com HTTP 200 e sem redirecionamento. Coloque esse endereço no campo de site do desenvolvedor da página da loja — a Marketing URL na App Store — e o rastreador lê o arquivo ali. O AdMob cita o Firebase Hosting como aceitável.

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.

Você não precisa de um site, apenas de um hostname que você controla e que sirva /app-ads.txt como texto simples, com HTTP 200 e sem redirecionamento. Coloque esse endereço no campo de site do desenvolvedor da página da loja — a Marketing URL na App Store, o Website em Store listing contact details no Google Play — e o rastreador lê o arquivo ali.

O AdMob diz isso com todas as letras: “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 raiz, pode usar o Firebase Hosting para hospedar o seu arquivo app-ads.txt.) Hospedagem em plataforma é a resposta esperada, não um improviso.

Do que o rastreador realmente precisa

O rastreador não procura o seu app pelo nome do pacote. Ele pega o site do desenvolvedor da página da loja, fica com o hostname e busca /app-ads.txt na raiz dele. As regras do AdMob:

  • Raiz, não um caminho. Uma página da loja que aponta para example.com/myapp é verificada em example.com/app-ads.txt.
  • Um nível de subdomínio. O rastreador “probe[s] up to one subdomain level from the developer website” (verifica até um nível de subdomínio a partir do site do desenvolvedor). www. e m. contam como o próprio domínio.
  • Servido de forma simples. 200 OK, Content-Type: text/plain, sem redirecionamento, sem login, nada no robots.txt bloqueando.

Então a tarefa é: um endereço que não vai mudar, servindo um arquivo de texto, corretamente, por anos. As três opções abaixo fazem isso; elas diferem em quanto você precisa manter.

Opção 1: Firebase Hosting

A que o AdMob cita. Um projeto gratuito do Firebase dá a você um hostname como your-project.web.app.

  1. Crie um projeto no console do Firebase e instale a Firebase CLI.
  2. Em uma pasta vazia, execute firebase init hosting e mantenha o diretório padrão public.
  3. Coloque o seu app-ads.txt em public/, ao lado do index.html gerado.
  4. Execute firebase deploy --only hosting.
  5. Defina https://your-project.web.app como o site do desenvolvedor em cada página da loja.

A armadilha: se mais tarde você conectar um domínio personalizado e escolher redirecionar o endereço web.app para ele, o endereço na sua página da loja passa a responder com um redirecionamento. Mantenha a página da loja no endereço que serve o arquivo diretamente, ou atualize a página da loja para o novo domínio.

Opção 2: GitHub Pages ou outro host estático

Qualquer host estático funciona se o arquivo ficar na raiz do hostname que você declara.

No GitHub Pages esse detalhe importa: um site de projeto fica em username.github.io/repo/, mas o rastreador só verifica username.github.io/app-ads.txt. O arquivo precisa estar no site de usuário — o repositório chamado username.github.io — ou o projeto precisa ter um domínio personalizado próprio.

A mesma armadilha de redirecionamento vale aqui: depois que um domínio personalizado é configurado, o GitHub Pages redireciona o endereço github.io para ele. Declare o endereço que serve o arquivo sem nenhum salto.

Opção 3: uma página de conformidade hospedada

Se você também precisa de uma política de privacidade, uma página de suporte ou uma URL de exclusão de conta — e um app com anúncios quase sempre precisa da primeira —, o mesmo host pode servir todas elas. É isso que o AppFoyer faz: cada app recebe o seu próprio subdomínio, que serve o app-ads.txt como texto simples sem redirecionamento, ao lado das páginas que as lojas pedem. O AdMob informa “app-ads.txt file found and verified” (arquivo app-ads.txt encontrado e verificado) para apps das duas lojas cujo site do desenvolvedor é um endereço do AppFoyer (verificado em outubro de 2026). Ainda não temos resultado de rastreamento próprio de outras redes de anúncios.

Verifique antes do rastreador

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

Você quer HTTP/2 200 (ou HTTP/1.1 200 OK), content-type: text/plain, nenhum cabeçalho location: e as suas linhas no corpo. Um 301 ou 302 aqui é a falha invisível mais comum.

Depois, aguarde. O AdMob diz “it can take up to 24 hours for AdMob to crawl and verify your app-ads.txt files” (pode levar até 24 horas para o AdMob rastrear e verificar seus arquivos app-ads.txt). O status fica em Apps → View all apps → app-ads.txt; se ainda disser “not found” depois de um dia, o guia de “not found” passa pelas causas em ordem.

As fontes oficiais