Saltar al contenido
AppFoyer
Empezar

Guías app-ads.txt

Cómo alojar app-ads.txt si no tienes sitio web

Qué necesita realmente el rastreador, tres formas de darle un host sin construir un sitio, las trampas de redirección de cada una y cómo confirmar que funciona.

No necesitas un sitio web, solo un nombre de host que controles y que sirva /app-ads.txt como texto plano, con HTTP 200 y sin redirección. Pon esa dirección en el campo de sitio web del desarrollador de tu ficha de la tienda (la Marketing URL en el App Store) y el rastreador leerá el archivo allí. AdMob menciona Firebase Hosting como opción aceptable.

Hazlo en unos minutos

AppFoyer aloja las páginas de las que trata esta guía —política de privacidad, términos, soporte, eliminación de cuenta y app-ads.txt— en su propio subdominio, sin que necesites dominio ni servidor propios. Una app es gratis, y nada de lo que exige una tienda está nunca detrás de un muro de pago.

Comprobado el 12 de octubre de 2026. Las políticas de las tiendas cambian, a veces sin aviso. Todo lo que sigue enlaza la documentación oficial, y esa página —no esta— es la que manda. Si no coinciden, la tienda tiene razón. Esta guía está traducida del inglés; las citas de la documentación de las tiendas se mantienen en el inglés original.

No necesitas un sitio web, solo un nombre de host que controles y que sirva /app-ads.txt como texto plano, con HTTP 200 y sin redirección. Pon esa dirección en el campo de sitio web del desarrollador de tu ficha de la tienda (la Marketing URL en el App Store, el Website en Store listing contact details en Google Play) y el rastreador leerá el archivo allí.

AdMob lo dice sin rodeos: “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.” (Si no tienes un sitio web adecuado que permita subir un archivo app-ads.txt al nivel raíz, puedes usar Firebase Hosting para alojar tu archivo app-ads.txt.) El hosting de una plataforma es la respuesta esperada, no un apaño.

Qué necesita realmente el rastreador

El rastreador no busca tu app por nombre de paquete. Toma el sitio web del desarrollador de tu ficha de la tienda, se queda con el nombre de host y descarga /app-ads.txt en su raíz. Las reglas de AdMob:

  • La raíz, no una ruta. Una ficha que apunta a example.com/myapp se comprueba en example.com/app-ads.txt.
  • Un nivel de subdominio. El rastreador “probe[s] up to one subdomain level from the developer website” (explora hasta un nivel de subdominio a partir del sitio web del desarrollador). www. y m. cuentan como el propio dominio.
  • Servido tal cual. 200 OK, Content-Type: text/plain, sin redirección, sin inicio de sesión y sin nada en robots.txt que lo bloquee.

Así que la tarea es: una dirección que no vaya a cambiar, que sirva un archivo de texto, correctamente, durante años. Las tres opciones siguientes lo cumplen; se diferencian en cuánto mantenimiento exigen.

Opción 1: Firebase Hosting

La que menciona AdMob. Un proyecto gratuito de Firebase te da un nombre de host como your-project.web.app.

  1. Crea un proyecto en la consola de Firebase e instala Firebase CLI.
  2. En una carpeta vacía, ejecuta firebase init hosting y deja el directorio public por defecto.
  3. Pon tu app-ads.txt en public/, junto al index.html generado.
  4. Ejecuta firebase deploy --only hosting.
  5. Configura https://your-project.web.app como sitio web del desarrollador en cada ficha de la tienda.

La trampa: si más adelante conectas un dominio personalizado y eliges redirigir la dirección web.app a él, la dirección de tu ficha pasa a responder con una redirección. O mantienes la ficha en la dirección que sirve el archivo directamente, o actualizas la ficha al nuevo dominio.

Opción 2: GitHub Pages u otro hosting estático

Cualquier hosting estático sirve si el archivo acaba en la raíz del nombre de host que declaras.

En GitHub Pages ese detalle importa: un sitio de proyecto vive en username.github.io/repo/, pero el rastreador solo comprueba username.github.io/app-ads.txt. El archivo tiene que estar en el sitio de usuario (el repositorio llamado username.github.io), o el proyecto necesita su propio dominio personalizado.

Se aplica la misma trampa de redirección: una vez configurado un dominio personalizado, GitHub Pages redirige la dirección github.io a él. Declara la dirección que sirva el archivo sin saltos.

Opción 3: una página de cumplimiento alojada

Si además necesitas una política de privacidad, una página de soporte o una URL de eliminación de cuenta (y una app con anuncios casi siempre necesita lo primero), el mismo host puede servirlo todo. Eso es lo que hace AppFoyer: cada app recibe su propio subdominio, que sirve app-ads.txt como texto plano sin redirección, junto a las páginas que piden las tiendas. AdMob informa “app-ads.txt file found and verified” para apps de ambas tiendas cuyo sitio web de desarrollador es una dirección de AppFoyer (comprobado en octubre de 2026). Todavía no tenemos ningún resultado de rastreo propio de otras redes publicitarias.

Compruébalo antes que el rastreador

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

Lo que quieres ver es HTTP/2 200 (o HTTP/1.1 200 OK), content-type: text/plain, ninguna cabecera location: y tus líneas en el cuerpo. Un 301 o 302 aquí es el fallo invisible más común.

Luego, espera. AdMob dice “it can take up to 24 hours for AdMob to crawl and verify your app-ads.txt files” (AdMob puede tardar hasta 24 horas en rastrear y verificar tus archivos app-ads.txt). Su estado está en Apps → View all apps → app-ads.txt; si después de un día sigue diciendo que no se encontró, la guía sobre «not found» repasa las causas en orden.

Las fuentes oficiales