Dlaczego AdMob twierdzi, że nie znaleziono Twojego app-ads.txt
Jak crawlery sieci reklamowych znajdują plik, sześć rzeczy, które zwykle je zatrzymują, i jak odróżnić prawdziwy problem od pobrania, które jeszcze się nie odbyło.
Wynik „nie znaleziono” ma prawie zawsze przyczynę mechaniczną: brak witryny dewelopera na stronie aplikacji w sklepie, adres URL wskazujący miejsce, w którym nie ma pliku, przekierowanie, zły typ treści, błędnie sformatowany wiersz albo pobranie, które jeszcze się nie odbyło — AdMob daje sobie na nie 24 godziny. Pliki na subdomenach AppFoyer są weryfikowane przez AdMob.
Zrób to zamiast tego w kilka minut
AppFoyer hostuje strony, o których jest ten poradnik — politykę prywatności, regulamin, wsparcie, usuwanie konta i app-ads.txt — na ich własnej subdomenie, bez Twojej własnej domeny i serwera. Jedna aplikacja jest za darmo, a nic, czego wymaga sklep, nigdy nie jest płatne.
Sprawdzono 12 października 2026. Zasady sklepów się zmieniają, czasem bez zapowiedzi. Wszystko poniżej linkuje do oficjalnej dokumentacji i to ona — nie ta strona — jest rozstrzygająca. Jeśli się różnią, rację ma sklep. Ten poradnik jest przetłumaczony z angielskiego; cytaty z dokumentacji sklepów pozostawiono w oryginalnym brzmieniu angielskim.
Gdy sieć reklamowa zgłasza, że nie znaleziono app-ads.txt, prawie zawsze chodzi o jedną z sześciu
mechanicznych przyczyn: brak witryny dewelopera na stronie aplikacji w sklepie, adres witryny
wskazujący miejsce, w którym nie ma pliku, przekierowanie przed plikiem, zły typ treści, błędnie
sformatowany wiersz albo pobranie, które po prostu jeszcze się nie odbyło. Żadna z nich nie dotyczy
Twojej aplikacji, Twojego konta ani Twoich jednostek reklamowych.
app-ads.txt to standard IAB, który pozwala sieci reklamowej potwierdzić, że podmiot sprzedający
przestrzeń reklamową w Twojej aplikacji jest do tego upoważniony. Sieć znajduje go przez adres
witryny podany na stronie aplikacji w sklepie — dlatego wszystkie powyższe przyczyny dotyczą tego
adresu, a nie samej aplikacji.
Jak crawler znajduje plik
Łańcuch ma trzy ogniwa, a przerwanie któregokolwiek z nich daje ten sam komunikat:
- Sieć odczytuje adres witryny dewelopera ze strony aplikacji w sklepie.
- Pobiera
/app-ads.txtz katalogu głównego tej domeny. - Szuka wiersza z nazwą sieci i Twoim identyfikatorem wydawcy.
Plik nie jest więc wyszukiwany po aplikacji, nazwie pakietu ani koncie AdMob. Jest wyszukiwany po adresie witryny podanym na stronie aplikacji w sklepie. Jeśli ten adres jest zły, nic innego nie ma znaczenia.
Sześć typowych przyczyn
Brak adresu witryny na stronie aplikacji w sklepie. Najczęstsza przyczyna. Jeśli strona aplikacji w sklepie nie ma witryny dewelopera, crawler nie ma od czego zacząć. W App Store tym polem jest opcjonalne Marketing URL, a nie wymagane Support URL — zobacz app-ads.txt dla aplikacji na iOS.
Adres wskazuje miejsce bez pliku. Na stronie w sklepie jest example.com, a plik leży na
www.example.com albo pod ścieżką strony zamiast w katalogu głównym domeny.
Przekierowanie. Specyfikacja zakłada, że plik jest udostępniany bezpośrednio. Łańcuch
przekierowań — nawet http → https albo z domeny głównej na www — to częsta przyczyna
niepowodzenia. Udostępniaj go z kodem 200, pod adresem podanym na stronie w sklepie.
Zły typ treści. Plik musi być udostępniany jako zwykły tekst. Plik wysyłany jako text/html albo
hosting, który opakowuje go w stronę, nie zostanie przetworzony.
Literówka w samym wierszu. Format jest ścisły —
domain, publisher id, relationship, certification id — a brakujący przecinek lub zbędna spacja
psuje wiersz.
Pobranie po prostu jeszcze się nie odbyło. Sieci pobierają pliki ponownie według własnego harmonogramu, zwykle liczonego w dniach, a nie minutach. Plik wgrany godzinę temu i oznaczony jako brakujący to zwykle po prostu zbyt wczesne sprawdzanie.
Jak sprawdzić to samodzielnie w dziesięć sekund
curl -i https://your-domain.example/app-ads.txt
Szukasz 200 OK, Content-Type: text/plain, braku nagłówka Location: i swoich wierszy w treści.
Jeśli curl jest zadowolony, a sieć nadal nie, problem leży wyżej: w adresie na stronie aplikacji
w sklepie albo w harmonogramie pobierania.
Uwaga o subdomenach
Specyfikacja odnosi się do katalogu głównego domeny zadeklarowanej na stronie aplikacji w sklepie,
a subdomena ma własny katalog główny. Udostępnianie pliku pod yourapp.example.page/app-ads.txt jest
więc zgodne ze specyfikacją, jeśli właśnie ten adres jest zadeklarowany na stronie w sklepie.
AdMob opisuje regułę, na której to się opiera: jego crawler „probe[s] up to one subdomain level from the developer website” (sprawdza do jednego poziomu subdomeny od witryny dewelopera) i wymienia hosting platformowy, taki jak Firebase Hosting, jako dopuszczalne miejsce na plik.
AdMob weryfikuje pliki na subdomenach AppFoyer. W październiku 2026 AdMob zgłosił „app-ads.txt file found and verified” dla aplikacji z obu sklepów, których witryną dewelopera jest adres AppFoyer. Wcześniejsze pobranie, 23 września 2026, oznaczyło jedną z tych samych aplikacji jako „nie znaleziono”; teraz przechodzi, choć po naszej stronie nic się nie zmieniło. Jeśli AdMob zgłasza „nie znaleziono” dla Twojego adresu AppFoyer, przejdź przez powyższe przyczyny i daj pobraniu 24 godziny. Nie mamy jeszcze własnych wyników pobrania z innych sieci reklamowych.
Co robi tutaj AppFoyer
Udostępniamy plik jako zwykły tekst, bez przekierowania i z nagłówkami, których wymaga specyfikacja, dajemy Ci gotowe ustawienia dla popularnych sieci i sprawdzamy każdy wiersz w trakcie pisania. Nie obiecujemy, że dana sieć go zaakceptuje — zobacz akapit powyżej.
Źródła oficjalne
- Set up app-ads.txt — Pomoc AdMob
- app-ads.txt / ads.txt specification — IAB Tech Lab