Як розмістити app-ads.txt, якщо у вас немає вебсайту
Що насправді потрібно краулеру, три способи дати йому хост без створення сайту, пастки з переспрямуваннями в кожному з них і як переконатися, що все працює.
Вебсайт вам не потрібен — лише ім’я хоста під вашим контролем, яке віддає /app-ads.txt як звичайний текст із HTTP 200 і без переспрямування. Вкажіть цю адресу в полі вебсайту розробника на сторінці застосунку в магазині — в App Store це Marketing URL, — і краулер прочитає файл там. AdMob називає Firebase Hosting прийнятним варіантом.
Зробіть це за кілька хвилин
AppFoyer розміщує сторінки, про які цей посібник, — політику конфіденційності, умови, підтримку, видалення акаунта та app-ads.txt — на власному піддомені, без вашого домену й сервера. Один застосунок — безкоштовно, і ніщо з того, чого вимагає магазин, ніколи не буває за платним доступом.
Перевірено 12 жовтня 2026 р.. Політики магазинів змінюються, іноді без попередження. Усе нижче посилається на офіційну документацію, і авторитетом є та сторінка, а не ця. Якщо вони розходяться, правий магазин. Цей посібник перекладено з англійської; цитати з документації магазинів наведено в англійському оригіналі.
Вебсайт вам не потрібен — лише ім’я хоста під вашим контролем, яке віддає /app-ads.txt як
звичайний текст із HTTP 200 і без переспрямування. Вкажіть цю адресу в полі вебсайту розробника
на сторінці застосунку в магазині — в App Store це Marketing URL, у Google Play це Website у розділі
Store listing contact details, — і краулер прочитає файл там.
AdMob каже про це прямо: “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.” (Якщо у вас немає відповідного вебсайту, який дозволяє завантажити файл app-ads.txt на кореневий рівень, ви можете розмістити свій файл app-ads.txt у Firebase Hosting.) Хостинг на платформі — це очікувана відповідь, а не обхідний шлях.
Що насправді потрібно краулеру
Краулер не шукає ваш застосунок за назвою пакета. Він бере вебсайт розробника зі сторінки
застосунку в магазині, залишає ім’я хоста й завантажує /app-ads.txt у його корені. Правила
AdMob:
- Корінь, а не шлях. Якщо сторінка в магазині вказує на
example.com/myapp, перевіряєтьсяexample.com/app-ads.txt. - Один рівень піддоменів. Краулер “probe[s] up to one subdomain level from the developer
website” (перевіряє щонайбільше один рівень піддоменів від вебсайту розробника).
www.іm.вважаються самим доменом. - Звичайна віддача.
200 OK,Content-Type: text/plain, без переспрямування, без входу в обліковий запис, і нічого вrobots.txt, що його блокує.
Отже, завдання таке: одна адреса, яка не зміниться, що роками правильно віддає один текстовий файл. Усі три варіанти нижче це роблять; вони відрізняються тим, скільки вам доведеться підтримувати.
Варіант 1: Firebase Hosting
Той, який називає AdMob. Безкоштовний проєкт Firebase дає вам ім’я хоста на кшталт
your-project.web.app.
- Створіть проєкт у консолі Firebase і встановіть Firebase CLI.
- У порожній папці виконайте
firebase init hostingі залиште каталогpublicза замовчуванням. - Покладіть свій
app-ads.txtуpublic/, поруч зі згенерованимindex.html. - Виконайте
firebase deploy --only hosting. - Вкажіть
https://your-project.web.appяк вебсайт розробника на кожній сторінці застосунку в магазинах.
Пастка: якщо згодом ви підключите власний домен і вирішите переспрямовувати на нього адресу
web.app, адреса на сторінці в магазині почне відповідати переспрямуванням. Або залиште на сторінці
в магазині адресу, яка віддає файл напряму, або змініть її на новий домен.
Варіант 2: GitHub Pages або інший статичний хостинг
Підійде будь-який статичний хостинг, якщо файл опиниться в корені імені хоста, яке ви вказуєте.
На GitHub Pages ця деталь важлива: сайт проєкту розміщується за адресою
username.github.io/repo/, але краулер перевіряє лише username.github.io/app-ads.txt. Файл має
бути на сайті користувача — у репозиторії з назвою username.github.io, — або проєкту потрібен
власний домен.
Та сама пастка з переспрямуванням діє й тут: щойно налаштовано власний домен, GitHub Pages
переспрямовує на нього адресу github.io. Вказуйте ту адресу, яка віддає файл без проміжного
кроку.
Варіант 3: розміщена сторінка відповідності вимогам
Якщо вам також потрібні політика конфіденційності, сторінка підтримки чи URL для видалення
облікового запису — а застосункові з рекламою майже завжди потрібне перше, — той самий хост може
віддавати їх усі. Саме це робить AppFoyer: кожен застосунок отримує власний піддомен, який віддає
app-ads.txt як звичайний текст без переспрямування поруч зі сторінками, яких вимагають магазини.
AdMob повідомляє “app-ads.txt file found and verified” (файл app-ads.txt знайдено й перевірено) для
застосунків в обох магазинах, вебсайт розробника яких — адреса AppFoyer (перевірено в жовтні 2026
року). Власних результатів сканування від інших рекламних мереж у нас поки немає.
Перевірте раніше за краулера
curl -i https://your-host.example/app-ads.txt
Вам потрібні HTTP/2 200 (або HTTP/1.1 200 OK), content-type: text/plain, жодного
заголовка location: і ваші рядки в тілі відповіді. 301 або 302 тут — найпоширеніший
непомітний збій.
Потім зачекайте. AdMob пише: “it can take up to 24 hours for AdMob to crawl and verify your app-ads.txt files” (AdMob може знадобитися до 24 годин, щоб просканувати й перевірити ваші файли app-ads.txt). Статус шукайте в Apps → View all apps → app-ads.txt; якщо й через добу там написано, що файл не знайдено, посібник про «не знайдено» проходить причини по черзі.
Першоджерела
- Set up app-ads.txt — довідка AdMob. Речення про Firebase Hosting, правила кореня й піддоменів і цифра 24 години взяті з цієї сторінки.
- Understand app-ads.txt file statuses — довідка AdMob. Де знайти статус і що означає кожен із них.
- ads.txt / app-ads.txt specification — IAB Tech Lab.