app-ads.txt とは何か、どこに置かなければならないか
このファイルの要点、行の形式を項目ごとに、すべてが機能するかを決める置き場所のルール、そしてウェブサイトがない場合にどうするか。
app-ads.txt は、アプリの広告枠の販売を許可した広告会社を列挙したプレーンテキストのファイルです。ストアの掲載情報に記載したウェブサイトの /app-ads.txt に置き、広告ネットワークはそれを取得して販売者が認可されているかを確認します。プラットフォームのサブドメインでも機能し、AdMob は AppFoyer のサブドメイン上のファイルを検証しています。広告がなければファイルは不要です。
数分で済ませる方法もあります
AppFoyer は、このガイドで扱っているページ(プライバシーポリシー、利用規約、サポート、アカウント削除、そして app-ads.txt)を、専用のサブドメインでホストします。自分のドメインもサーバーも要りません。アプリ 1 つまでは無料で、ストアが求めるものが有料プランの壁の向こうに置かれることは決してありません。
2026年10月12日 に確認。 ストアのポリシーは、予告なく変わることもあります。以下の内容はすべて公式ドキュメントにリンクしており、拠り所となるのはこのページではなくそちらです。両者が食い違う場合は、ストアが正しいものとしてください。 このガイドは英語からの翻訳です。ストアのドキュメントからの引用は原文の英語のまま掲載しています。
app-ads.txt は、アプリの広告枠の販売を許可した広告会社を列挙したプレーンテキストのファイルです。 ストアの掲載情報で申告したウェブサイトの /app-ads.txt に置き、広告ネットワークはそれを取得して、あなたの広告枠を販売しようとしている者が本当にあなたに認可されているかを確認します。このファイルがなければ、買い手にはそれを確かめる手段がありません。それがこの標準が存在する理由のすべてです。
アプリで広告を表示しないなら、このファイルはまったく必要ありません。表示するなら、作業は 10 分ほどです。そのうち 9 分は置き場所を正しくすることに使います。それが、いつも決まって間違える唯一の部分です。
何を解決するのか
広告枠は再販されます。アプリと広告主のあいだには、エクスチェンジ、リセラー、仲介業者がいます。ads.txt とそのアプリ版の兄弟が登場するまでは、「これは本当にそのアプリの広告枠だ」と「誰かがそれを販売すると主張している」を、買い手が安く見分ける方法はありませんでした。主張を検証できなかったからこそ、不正が成り立っていたのです。
解決策は意図的にローテクです。パブリッシャーが、自分のために販売してよい者のリストを、パブリッシャーだけが管理するアドレスで公開します。買い手はファイルを取得して照合します。仕組みはそれだけで、だからこそ中身よりもアドレスが重要なのです。誰でも置けた場所にあるファイルは、何も証明しません。
行の形式
1 行に認可された販売者を 1 つ。必須の項目が 3 つと任意の項目が 1 つで、カンマで区切ります:
google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0
| 項目 | 意味 |
|---|---|
google.com | 広告システムのドメイン。あなたのドメインではなく、ネットワーク自身の正規のドメインです。 |
pub-0000000000000000 | そのネットワークでのあなたのパブリッシャー ID。ネットワークのダッシュボードからコピーします。 |
DIRECT または RESELLER | 直接契約しているなら DIRECT、再販を許可しているなら RESELLER。 |
f08c47fec0942fa0 | 任意の認証機関 ID。ネットワークが公開している場合に記載します。 |
# 以降はコメントです。contact=、subdomain=、inventorypartnerdomain= などで始まる行は販売者のレコードではなく変数で、そのままにしておきます。
壊れたファイルの大半は、2 つの間違いが原因です。カンマの抜けで行全体が解析できなくなること、そしてサポートフォーラムから他人のパブリッシャー ID を貼り付けて、見知らぬ人にあなたの広告枠の販売を許可してしまうことです。各ネットワークのダッシュボードには求める行がそのまま表示されています。テンプレートではなく、それを使ってください。
どこに置かなければならないか — すべてを決める部分
クローラーはあなたのパッケージ名を知らず、アプリからあなたを探すこともしません。ストアの掲載情報にあるデベロッパーのウェブサイトの URL を読み、そのドメインのルートにある /app-ads.txt を取得します。掲載情報の URL を間違えれば、完全に正しいファイルも見えなくなります。
AdMob は探索のルールを文書化しており、推測するより一度読んでおく価値があります:
- ルートディレクトリとは “the directory following the top level domain”(訳:トップレベルドメインに続くディレクトリ)のことで、
example.com/some/path/app-ads.txtではなくexample.com/app-ads.txtです。 - クローラーは “probe up to one subdomain level from the developer website when constructing an app-ads.txt URL”(訳:app-ads.txt の URL を組み立てる際、デベロッパーのウェブサイトからサブドメイン 1 階層までを探索する)とされています。
support.help.example.com/gameを指す掲載情報について、AdMob 自身の例ではhelp.example.com/app-ads.txtとexample.com/app-ads.txtを試しています。 www.とm.はサブドメインの位置としては除外されるので、ドメインそのものとして扱われます。
アドレス以外にも、配信は退屈なほど正しくなければなりません。HTTP 200、Content-Type: text/plain、手前にリダイレクトがないこと、ログインがないこと、JavaScript で描画していないこと、robots.txt でブロックしていないこと。http から https へ、あるいはルートドメインから www へのリダイレクトのあとにしか現れないファイルは、よくある、そしてまったく目に見えない失敗です。
クローラーと同じ方法で確認してください:
curl -i https://your-domain.example/app-ads.txt
200 OK、text/plain、Location: ヘッダーがないこと、本文にあなたの行があることを確認します。
「でも、ウェブサイトがない」
これは個人開発者にとって普通のケースであり、ファイルをまったく持たないアプリが多い理由でもあります。
要件はファイルを配信する、あなたが管理するホスト名です。マーケティングサイト、会社のドメイン、ランディングページを持つことではありません。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 ファイルをホストできます。)プラットフォームのホスティングは想定されたものであり、回避策ではありません。選択肢はウェブサイトがない場合のガイドで順に説明しています。
何を使うにしても、リリース週より長く成り立っていなければならないことが 2 つあります。アドレスが変わらないこと。二度と考えないストアの掲載情報に記載されているからです。そして、誰かが最初に設定を「改善」したときにリダイレクトが手前に入り込むことなく、プレーンテキストを配信し続けることです。
何かを変えても、すぐには何も起きない
広告ネットワークは独自のスケジュールで再クロールします。AdMob は “it can take up to 24 hours for AdMob to crawl and verify your app-ads.txt files”(訳:AdMob が app-ads.txt ファイルをクロールして検証するまでに最大 24 時間かかることがあります)と述べており、他のネットワークはもっと遅いこともあります。1 時間前にアップロードしたファイルがまだ見つからないと表示されるのは、ほとんどの場合、単に早すぎるだけです。他のことを変える前に見つからない場合のガイドを参照してください。
AppFoyer がここでしていること
アプリのページは、専用のサブドメインで app-ads.txt を配信します。プレーンテキスト、200、リダイレクトなし、仕様が求めるヘッダーつきです。エディターは入力中に各行を検証するので、カンマの抜けはクローラーが見る前に見つかります。そのサブドメインを、appfoyer.page の 1 階層下のアドレスとして、ストアの掲載情報のデベロッパーのウェブサイトに設定します。
AdMob はそこでファイルを検証しています。2026 年 10 月、デベロッパーのウェブサイトが AppFoyer のアドレスであるアプリについて “app-ads.txt file found and verified”(訳:app-ads.txt ファイルが見つかり、検証されました)と報告しました。他の広告ネットワークについては、私たち自身のクロール結果はまだありません。
公式の情報源
- Set up app-ads.txt — AdMob ヘルプ。上で引用したクローラーのルールとサブドメインの例はこのページからのものです。
- ads.txt / app-ads.txt specification — IAB Tech Lab。仕様そのものであり、行の文法についての基準です。