Langsung ke konten
AppFoyer
Mulai

Panduan app-ads.txt

Menghosting app-ads.txt saat Anda tidak punya situs web

Apa yang sebenarnya dibutuhkan crawler, tiga cara memberinya host tanpa membuat situs, jebakan pengalihan di masing-masing, dan cara memastikan semuanya berfungsi.

Anda tidak memerlukan situs web, hanya hostname yang Anda kendalikan yang menyajikan /app-ads.txt sebagai teks biasa dengan HTTP 200 dan tanpa pengalihan. Isi kolom situs web developer di listingan toko Anda dengan alamat itu — Marketing URL di App Store — dan crawler membaca file di sana. AdMob menyebut Firebase Hosting dapat diterima.

Selesaikan ini dalam beberapa menit saja

AppFoyer meng-hosting halaman yang dibahas panduan ini — kebijakan privasi, ketentuan, dukungan, penghapusan akun, dan app-ads.txt — di subdomainnya sendiri, tanpa domain atau server milik Anda. Satu aplikasi gratis, dan tidak ada yang diwajibkan toko yang pernah berada di balik paywall.

Diperiksa 12 Oktober 2026. Kebijakan toko berubah, terkadang tanpa pemberitahuan. Semua yang ada di bawah menautkan dokumentasi resmi, dan halaman itulah — bukan halaman ini — yang menjadi acuan. Jika keduanya tidak sejalan, toko yang benar. Panduan ini diterjemahkan dari bahasa Inggris; kutipan dari dokumentasi toko dipertahankan dalam bahasa Inggris aslinya.

Anda tidak memerlukan situs web, hanya hostname yang Anda kendalikan yang menyajikan /app-ads.txt sebagai teks biasa dengan HTTP 200 dan tanpa pengalihan (redirect). Isi kolom situs web developer di listingan toko Anda dengan alamat itu — Marketing URL di App Store, Website di bawah Store listing contact details di Google Play — dan crawler membaca file di sana.

AdMob menyatakannya secara terang-terangan: “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.” (Jika Anda tidak punya situs web yang sesuai yang memungkinkan pengunggahan file app-ads.txt di tingkat root, Anda dapat menggunakan Firebase Hosting untuk menghosting file app-ads.txt Anda.) Hosting platform adalah jawaban yang memang diharapkan, bukan jalan pintas.

Apa yang sebenarnya dibutuhkan crawler

Crawler tidak mencari aplikasi Anda berdasarkan nama paket. Crawler mengambil situs web developer dari listingan toko Anda, menyimpan hostname-nya, lalu mengambil /app-ads.txt di root-nya. Aturan AdMob:

  • Root, bukan path. Listingan yang mengarah ke example.com/myapp diperiksa di example.com/app-ads.txt.
  • Satu tingkat subdomain. Crawler “probe[s] up to one subdomain level from the developer website” (memeriksa hingga satu tingkat subdomain dari situs web developer). www. dan m. dihitung sebagai domain itu sendiri.
  • Disajikan apa adanya. 200 OK, Content-Type: text/plain, tanpa pengalihan, tanpa login, tidak ada apa pun di robots.txt yang memblokirnya.

Jadi tugasnya adalah: satu alamat yang tidak akan berpindah, menyajikan satu file teks, dengan benar, selama bertahun-tahun. Ketiga opsi di bawah semuanya melakukan itu; bedanya ada pada seberapa banyak yang harus Anda pelihara.

Opsi 1: Firebase Hosting

Opsi yang disebut oleh AdMob. Proyek Firebase gratis memberi Anda hostname seperti your-project.web.app.

  1. Buat proyek di Firebase console dan instal Firebase CLI.
  2. Di folder kosong, jalankan firebase init hosting dan pertahankan direktori public bawaan.
  3. Taruh app-ads.txt Anda di public/, di samping index.html yang dibuat otomatis.
  4. Jalankan firebase deploy --only hosting.
  5. Tetapkan https://your-project.web.app sebagai situs web developer di setiap listingan toko.

Jebakannya: jika nanti Anda menghubungkan domain kustom dan memilih untuk mengalihkan alamat web.app ke domain itu, alamat di listingan Anda kini menjawab dengan pengalihan. Pertahankan listingan di alamat yang menyajikan file secara langsung, atau perbarui listingan ke domain baru.

Opsi 2: GitHub Pages atau host statis lain

Host statis apa pun bisa dipakai asalkan file berakhir di root hostname yang Anda deklarasikan.

Di GitHub Pages, detail itu penting: situs project berada di username.github.io/repo/, tetapi crawler hanya memeriksa username.github.io/app-ads.txt. File harus berada di situs user — repositori bernama username.github.io — atau project tersebut perlu domain kustomnya sendiri.

Jebakan pengalihan yang sama berlaku: begitu domain kustom dikonfigurasi, GitHub Pages mengalihkan alamat github.io ke domain itu. Deklarasikan alamat mana pun yang menyajikan file tanpa lompatan.

Opsi 3: halaman kepatuhan yang dihosting

Jika Anda juga memerlukan kebijakan privasi, halaman dukungan, atau URL penghapusan akun — dan aplikasi dengan iklan hampir selalu memerlukan yang pertama — host yang sama dapat menyajikan semuanya. Itulah yang dilakukan AppFoyer: setiap aplikasi mendapat subdomain sendiri yang menyajikan app-ads.txt sebagai teks biasa tanpa pengalihan, berdampingan dengan halaman-halaman yang diminta toko. AdMob melaporkan “app-ads.txt file found and verified” untuk aplikasi di kedua toko yang situs web developernya adalah alamat AppFoyer (diperiksa Oktober 2026). Kami belum punya hasil crawl sendiri dari jaringan iklan lain.

Periksa sebelum crawler melakukannya

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

Yang Anda harapkan: HTTP/2 200 (atau HTTP/1.1 200 OK), content-type: text/plain, tanpa header location:, dan baris-baris Anda ada di body. 301 atau 302 di sini adalah kegagalan tak kasatmata yang paling umum.

Lalu tunggu. AdMob menyatakan “it can take up to 24 hours for AdMob to crawl and verify your app-ads.txt files” (perlu waktu hingga 24 jam bagi AdMob untuk meng-crawl dan memverifikasi file app-ads.txt Anda). Statusnya ada di Apps → View all apps → app-ads.txt; jika setelah sehari masih tertulis tidak ditemukan, panduan not-found membahas penyebabnya secara berurutan.

Sumber resmi