跳至主要內容
AppFoyer
免費開始

指南 app-ads.txt

沒有網站時如何代管 app-ads.txt

爬蟲真正需要什麼、不必架站也能提供主機的三種方式、每種方式的重新導向陷阱,以及如何確認它可以運作。

你不需要網站,只需要一個你能掌控的主機名稱,以純文字、HTTP 200、不經重新導向的方式提供 /app-ads.txt。把這個網址填入商店資訊頁的開發人員網站欄位(在 App Store 上是 Marketing URL),爬蟲就會在那裡讀取檔案。AdMob 點名 Firebase Hosting 是可以接受的。

改用幾分鐘完成這件事

AppFoyer 託管這篇指南所談的頁面:隱私權政策、服務條款、支援、帳戶刪除和 app-ads.txt,放在各自的子網域上,你不需要自己的網域或伺服器。一個應用程式免費,而且商店要求的任何內容都不會放在付費牆後面。

查核日期:2026年10月12日。 商店政策會變動,有時不會事先通知。以下所有內容都附上官方文件的連結,具有權威的是那個頁面,而不是本頁。如果兩者不一致,以商店為準。 本指南譯自英文;引用的商店文件保留英文原文。

你不需要網站,只需要一個你能掌控的主機名稱,以純文字、HTTP 200、不經重新導向的方式提供 /app-ads.txt。 把這個網址填入商店資訊頁的開發人員網站欄位(在 App Store 上是 Marketing URL,在 Google Play 上是 Store listing contact details 底下的 Website),爬蟲就會在那裡讀取檔案。

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 檔案的合適網站,可以使用 Firebase Hosting 代管你的 app-ads.txt 檔案。)平台代管是預期中的做法,而不是權宜之計。

爬蟲真正需要什麼

爬蟲不會依套件名稱查找你的應用程式。它從你的商店資訊頁取得開發人員網站,保留主機名稱,然後在其根目錄擷取 /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 的主機名稱。

  1. 在 Firebase 控制台建立專案,並安裝 Firebase CLI。
  2. 在一個空資料夾中執行 firebase init hosting,保留預設的 public 目錄。
  3. 把你的 app-ads.txt 放進 public/,和產生的 index.html 放在一起。
  4. 執行 firebase deploy --only hosting。
  5. 在每個商店資訊頁中,把 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:代管的合規頁面

如果你還需要隱私權政策、支援頁面或帳戶刪除網址(而有廣告的應用程式幾乎一定需要第一個),同一個主機就能提供全部。這正是 AppFoyer 做的事:每個應用程式都有自己的子網域,以純文字、不經重新導向的方式提供 app-ads.txt,旁邊就是商店要求的頁面。對於開發人員網站是 AppFoyer 網址、分別在兩個商店上架的應用程式,AdMob 回報「app-ads.txt file found and verified」(已於 2026 年 10 月確認)。我們目前還沒有其他廣告聯播網自己的爬取結果。

在爬蟲之前先檢查

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;如果過了一天仍顯示找不到,找不到檔案指南會依序說明各種原因。

權威來源