Перейти до вмісту
AppFoyer
Почати

Посібники app-ads.txt

Чому AdMob пише, що ваш app-ads.txt не знайдено

Як краулери рекламних мереж знаходять файл, шість речей, які зазвичай їм заважають, і як відрізнити справжню проблему від сканування, що ще не відбулося.

Результат «не знайдено» майже завжди має механічну причину: на сторінці в магазині немає вебсайту розробника, URL вказує туди, де файлу немає, переспрямування, неправильний тип вмісту, хибний рядок або сканування, яке ще не відбулося, — AdMob відводить на нього 24 години. Файли на піддоменах AppFoyer AdMob перевіряє.

1:09
Відео, 1:09 · відкривається на YouTube

Зробіть це за кілька хвилин

AppFoyer розміщує сторінки, про які цей посібник, — політику конфіденційності, умови, підтримку, видалення акаунта та app-ads.txt — на власному піддомені, без вашого домену й сервера. Один застосунок — безкоштовно, і ніщо з того, чого вимагає магазин, ніколи не буває за платним доступом.

Перевірено 12 жовтня 2026 р.. Політики магазинів змінюються, іноді без попередження. Усе нижче посилається на офіційну документацію, і авторитетом є та сторінка, а не ця. Якщо вони розходяться, правий магазин. Цей посібник перекладено з англійської; цитати з документації магазинів наведено в англійському оригіналі.

Коли мережа повідомляє, що app-ads.txt не знайдено, це майже завжди одна з шести механічних причин: на сторінці в магазині немає вебсайту розробника, URL вебсайту вказує туди, де файлу немає, перед файлом стоїть переспрямування, тип вмісту неправильний, рядок записано з помилкою або сканування просто ще не відбулося. Жодна з них не стосується вашого застосунку, вашого облікового запису чи ваших рекламних блоків.

app-ads.txt — це стандарт IAB, який дає рекламній мережі змогу переконатися, що той, хто продає рекламний інвентар вашого застосунку, має на це право. Мережа знаходить файл через URL вебсайту, вказаний на сторінці застосунку в магазині, — саме тому всі перелічені причини стосуються цього URL, а не застосунку.

Як краулер знаходить файл

Ланцюжок складається з трьох ланок, і розрив будь-якої з них дає те саме повідомлення:

  1. Мережа читає URL вебсайту розробника зі сторінки застосунку в магазині.
  2. Вона завантажує /app-ads.txt у корені цього домену.
  3. Вона шукає рядок, у якому вказано мережу та ваш ідентифікатор видавця.

Тобто файл шукають не через ваш застосунок, не через назву пакета і не через обліковий запис 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

Ми віддаємо файл як звичайний текст, без переспрямування і з тими заголовками, яких вимагає специфікація, даємо вам готові шаблони для поширених мереж і перевіряємо кожен рядок під час введення. Ми не обіцяємо, що певна мережа його прийме, — див. абзац вище.

Першоджерела