アプリの認定販売者(app-ads.txt)


アプリの認定販売者(app-ads.txt)は、アプリ広告枠を広告の不正利用から保護する IAB のイニシアチブです。app-ads.txt ファイルを作成して、広告枠の販売を許可する販売者を明示します。認定販売者を宣言することで、偽のアプリの偽の広告枠に奪われる可能性のあった広告収益を確実に受け取れるようになります。

app-ads.txt は一般公開されており、アド エクスチェンジ、SSP(サプライサイド プラットフォーム)、その他の購入者やサードパーティ ベンダーによるクロールが可能です。

app-ads.txt の使用は必須ではありませんが、特にアプリのなりすましが懸念される場合は、使用することを強くおすすめします。

app-ads.txt ファイルは、アプリ デベロッパーがアプリのデベロッパー ウェブサイトのルートドメインに投稿するテキスト ファイルです。このファイルには、そのパブリッシャーの広告枠の販売を許可されている事業体のリストが含まれています。app-ads.txt ファイルを使用するには、パブリッシャーがウェブドメインを所有し、さまざまな広告テクノロジー ベンダーがクロールできるように、認定販売者のリストを公開する必要があります。Firebase など、ファイルの任意のホスティングを可能にするドメイン ホスティング ソリューションが多数あります。

前提条件

アプリ向けに app-ads.txt を設定する方法

  1. まだ作成していない場合は、テキスト ファイルを作成し、「app-ads.txt」という名前で保存します。

  2. 次のコード スニペットをコピーして app-ads.txt ファイルに貼り付けます。 (pub-00000000000000 は、実際のパブリッシャー ID に置き換えてください。パブリッシャー ID は、AdMob コンソール > [設定] で確認できます。

    google.com, pub-00000000000000, DIRECT, f08c47fec0942fa0
    
  3. 作成した app-ads.txt をデベロッパー ウェブサイトのルートに置いて公開します(例: https://example.com/app-ads.txt)。ドメインは、Google Play とアプリストアに表示されているものと一致するようにしてください。

  4. AdMob による app-ads.txt ファイルのクロールと検証が終わるまで、少なくとも 24 時間お待ちください。

  5. AdMob に戻り、app-ads.txt のステータスを確認します。

Firebase Hosting で app-ads.txt を公開する

app-ads.txt ファイルをルートレベルでアップロードできないウェブサイト(サイト生成サービスで構築、ホストされているサイトなど)を使用している場合は、Firebase Hosting を使用して app-ads.txt ファイルをホストできます。

Firebase では、カスタム ドメインや Firebase プロジェクトのサブドメイン(web.app と firebaseapp.com)を使用した信頼性の高い方法で app-ads.txt ファイルを無料で簡単にホストできます。

始める前に

Firebase Hosting で app-ads.txt を公開するには、Firebase プロジェクトが必要です。Firebase プロジェクトがない場合は、デベロッパー ガイドに沿って新しいプロジェクトを作成します。

すでに AdMob で収益化しているアプリを Firebase にリンクしている場合や、アプリで Firebase サービス(Firebase 向け Google アナリティクス、Remote Config など)を使用している場合は、既存の Firebase プロジェクトを使用できます。

Firebase CLI をインストールする

Firebase CLI は、npm(Node Package Manager)を使用してインストールできます。ただし、Node.js に詳しくない場合は、代わりにスタンドアロン バイナリを使用できます。

CLI をインストールする方法または最新バージョンに更新する方法については、Firebase CLI のドキュメントをご覧ください。

プロジェクトを初期化する

ローカルマシンで Firebase プロジェクトを初期化するには、プロジェクト ディレクトリのルートから次のコマンドを実行します。

firebase init

プロジェクトの初期化中に、Firebase CLI のプロンプトが表示され、次の操作を行うように指示されます。

  1. [Hosting] を選択して設定します。

  2. ローカル プロジェクト ディレクトリに接続する Firebase プロジェクトを選択する。

    [既存のプロジェクトを使用する] を選択し、接続するプロジェクトをリストから選択します。

  3. 公開ルート ディレクトリとして使用するディレクトリを指定する。

    Enter キーを押して、デフォルト(public)を選択します。

  4. サイトの構成を選択する。

    作成するウェブサイトはシングルページ アプリではないため、[N] を選択します。

初期化の最後に、Firebase は 2 つのファイルを作成し、ローカル プロジェクト ディレクトリのルートに追加します。

  • ウェブサイトでホストされているファイルを含む public ディレクトリ。
  • プロジェクトの構成を含む firebase.json 構成ファイル。
  • プロジェクト エイリアスが保存される .firebaserc ファイル。

app-ads.txt を公開する

app-ads.txt をサイトに公開する手順は次のとおりです。

  1. app-ads.txt ファイルをローカル プロジェクト ディレクトリの public ディレクトリに配置します。

  2. ローカル プロジェクト ディレクトリのルートから次のコマンドを実行します。

    firebase deploy --only hosting
  3. デプロイが完了したら、次の URL にアクセスして app-ads.txt が公開されていることを確認します。(PROJECT_ID は Firebase プロジェクト ID です)。

    https://PROJECT_ID.web.app/app-ads.txt

    例: プロジェクト ID が「awesome-project」の場合、ブラウザのアドレスバーに「https://awesome-project.web.app/app-ads.txt」と入力します。

ドメイン / サブドメインをアプリのストア掲載情報に追加する

app-ads.txt ファイルをクロールするには、新しく作成したドメインまたはサブドメインを Google Play または App Store のアプリの掲載情報に登録する必要があります。

アプリストアの掲載情報のマーケティング URL を次のように更新します。

https://PROJECT_ID.web.app

リダイレクトを設定する(省略可)

既存のウェブサイトがあり、app-ads.txt ファイルのホスティングにのみ Firebase Hosting を使用する場合は、ランディング ページを既存のウェブサイトにリダイレクトするように Firebase Hosting を構成できます。

Firebase Hosting では、ユーザーがサイトにアクセスしたときに、デフォルトで public/index.html がランディング ページとして使用されます。ユーザーを目的のウェブサイト(アプリのソーシャル メディア ページなど)にリダイレクトするには:

  1. ローカル プロジェクト ディレクトリのルートにある firebase.json ファイルを開きます。

  2. hosting オブジェクトの下に、次のように redirects オブジェクトを追加します。

    "hosting": {
      ...
      "redirects": [
        {
          "source": "/",
          "destination": "URL_TO_REDIRECT",
          "type": 301
        }
      ]
    }
    

    たとえば、ランディング ページの URL が https://www.example.com の場合、リダイレクト構成は次のようになります。

    "hosting": {
      ...
      "redirects": [
        {
          "source": "/",
          "destination": "https://www.example.com",
          "type": 301
        }
      ]
    }
    
  3. 次のコマンドを実行して、変更をサイトにデプロイします。

    firebase deploy --only hosting
  4. デプロイが完了したら、サイト(https://PROJECT_ID.web.app)にアクセスして、リダイレクト設定が正しいかどうかを確認します。

リソース