Чому AdMob пише, що ваш app-ads.txt не знайдено
Як краулери рекламних мереж знаходять файл, шість речей, які зазвичай їм заважають, і як відрізнити справжню проблему від сканування, що ще не відбулося.
Результат «не знайдено» майже завжди має механічну причину: на сторінці в магазині немає вебсайту розробника, URL вказує туди, де файлу немає, переспрямування, неправильний тип вмісту, хибний рядок або сканування, яке ще не відбулося, — AdMob відводить на нього 24 години. Файли на піддоменах AppFoyer AdMob перевіряє.
Зробіть це за кілька хвилин
AppFoyer розміщує сторінки, про які цей посібник, — політику конфіденційності, умови, підтримку, видалення акаунта та app-ads.txt — на власному піддомені, без вашого домену й сервера. Один застосунок — безкоштовно, і ніщо з того, чого вимагає магазин, ніколи не буває за платним доступом.
Перевірено 12 жовтня 2026 р.. Політики магазинів змінюються, іноді без попередження. Усе нижче посилається на офіційну документацію, і авторитетом є та сторінка, а не ця. Якщо вони розходяться, правий магазин. Цей посібник перекладено з англійської; цитати з документації магазинів наведено в англійському оригіналі.
Коли мережа повідомляє, що app-ads.txt не знайдено, це майже завжди одна з шести механічних
причин: на сторінці в магазині немає вебсайту розробника, URL вебсайту вказує туди, де файлу
немає, перед файлом стоїть переспрямування, тип вмісту неправильний, рядок записано з помилкою або
сканування просто ще не відбулося. Жодна з них не стосується вашого застосунку, вашого облікового
запису чи ваших рекламних блоків.
app-ads.txt — це стандарт IAB, який дає рекламній мережі змогу переконатися, що той, хто продає
рекламний інвентар вашого застосунку, має на це право. Мережа знаходить файл через URL вебсайту,
вказаний на сторінці застосунку в магазині, — саме тому всі перелічені причини стосуються цього
URL, а не застосунку.
Як краулер знаходить файл
Ланцюжок складається з трьох ланок, і розрив будь-якої з них дає те саме повідомлення:
- Мережа читає URL вебсайту розробника зі сторінки застосунку в магазині.
- Вона завантажує
/app-ads.txtу корені цього домену. - Вона шукає рядок, у якому вказано мережу та ваш ідентифікатор видавця.
Тобто файл шукають не через ваш застосунок, не через назву пакета і не через обліковий запис AdMob. Його шукають через URL вебсайту, вказаний на сторінці в магазині. Якщо цей URL неправильний, усе інше вже не має значення.
Шість звичних причин
На сторінці в магазині немає URL вебсайту. Найпоширеніша причина. Якщо на сторінці застосунку немає вебсайту розробника, краулерові нема з чого почати. В App Store це необов’язкове поле Marketing URL, а не обов’язковий Support URL — див. app-ads.txt для iOS-застосунків.
URL вказує туди, де файлу немає. На сторінці в магазині вказано example.com, а файл лежить на
www.example.com або за шляхом сторінки, а не в корені домену.
Переспрямування. Специфікація передбачає, що файл віддається напряму. Ланцюжок переспрямувань —
навіть http → https чи з кореневого домену на www — часто спричиняє збій. Віддавайте файл із
кодом 200 саме за тією адресою, яку вказано на сторінці в магазині.
Неправильний тип вмісту. Файл має віддаватися як звичайний текст. Файл, відданий як text/html,
або хостинг, що загортає його в сторінку, не буде розібрано.
Помилка в самому рядку. Формат суворий —
domain, publisher id, relationship, certification id — і пропущена кома чи зайвий пробіл
ламають рядок.
Сканування просто ще не відбулося. Мережі повторно сканують файли за власним розкладом, який зазвичай вимірюється днями, а не хвилинами. Якщо файл, завантажений годину тому, показується як відсутній, найчастіше ще просто рано.
Як перевірити самостійно за десять секунд
curl -i https://your-domain.example/app-ads.txt
Вам потрібні 200 OK, Content-Type: text/plain, жодного заголовка Location: і ваші рядки в
тілі відповіді. Якщо curl усе влаштовує, а мережу ні, проблема вище за ланцюжком: URL на сторінці
в магазині або розклад сканування.
Про піддомени
Специфікація посилається на корінь домену, заявленого на сторінці в магазині, а піддомен має власний
корінь. Тому віддавати файл із yourapp.example.page/app-ads.txt відповідає специфікації, якщо
саме цю адресу заявлено на сторінці в магазині.
AdMob документує правило, на яке це спирається: його краулер “probe[s] up to one subdomain level from the developer website” (перевіряє щонайбільше один рівень піддоменів від вебсайту розробника), і він називає хостинг платформ, як-от Firebase Hosting, прийнятним місцем для файлу.
AdMob перевіряє файли на піддоменах AppFoyer. У жовтні 2026 року AdMob повідомив “app-ads.txt file found and verified” (файл app-ads.txt знайдено й перевірено) для застосунків в обох магазинах, вебсайт розробника яких — адреса AppFoyer. Попереднє сканування, 23 вересня 2026 року, показувало один із цих самих застосунків як не знайдений; тепер він проходить перевірку, хоча з нашого боку нічого не змінилося. Якщо AdMob пише «not found» для вашої адреси AppFoyer, пройдіться причинами вище й дайте скануванню його 24 години. Власних результатів сканування від інших рекламних мереж у нас поки немає.
Що тут робить AppFoyer
Ми віддаємо файл як звичайний текст, без переспрямування і з тими заголовками, яких вимагає специфікація, даємо вам готові шаблони для поширених мереж і перевіряємо кожен рядок під час введення. Ми не обіцяємо, що певна мережа його прийме, — див. абзац вище.
Першоджерела
- Set up app-ads.txt — довідка AdMob
- app-ads.txt / ads.txt specification — IAB Tech Lab