Ad Exchange の直接アクセスを設定する

Google Mobile Ads SDK は、Ad Exchange プロパティを使用したアプリの収益化をサポートしています。このガイドでは、Ad Exchange でサポートされているすべての広告フォーマットに対応するようにアプリを構成する方法について説明します。

前提条件

Ad Exchange にアクセスするようにアプリを設定する

android:name="com.google.android.gms.ads.APPLICATION_ID" を含む <meta-data> タグを使用して、アド マネージャー アプリ ID(アド マネージャーの管理画面で確認)をアプリの AndroidManifest.xml ファイルに追加します。android:value には、ご自身のアド マネージャー アプリ ID を引用符で囲んで挿入します。

<manifest>
    <application>
        <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

また、前述のように <meta-data> タグを追加しなかった場合、次のメッセージが表示されてクラッシュします。

Missing application ID.

次に、Google Mobile Ads SDK を初期化し、表示する広告フォーマットを選択します。このガイドの残りの部分では、バナー フォーマットを実装して、Ad Exchange から広告を読み込む方法を説明します。同じ手順を、Google Mobile Ads SDK でサポートされているすべての広告フォーマットに適用できます。

Ad Exchange から広告を読み込む

広告ユニット ID の代わりに、末尾にスラッシュを付けた Ad Exchange ウェブ プロパティ コードを使用できます。例: ca-mb-app-pub-5629679302779023/

次の例では、Ad Exchange のウェブ プロパティ コードをバナー広告リクエストに追加しています。

Kotlin

val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()

BannerAd.load(
  adRequest,
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      bannerAd = ad
      activity?.runOnUiThread {
        binding.bannerViewContainer.addView(ad.getView(requireActivity()))
      }
    }
  }
)

Java

BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
    AdSize.BANNER).build();

BannerAd.load(
    adRequest,
    new AdLoadCallback<BannerAd>() {
      @Override
      public void onAdLoaded(@NonNull BannerAd ad) {
        bannerAd = ad;
        runOnUiThread(
            () -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
      }
    });

Ad Exchange のウェブ プロパティ コードの末尾にスラッシュを追加しなかった場合、広告リクエスト エラーが発生し、次のメッセージが表示されます。

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Ad Exchange ウェブ プロパティ コードを広告ユニットに変換することもできます。 その後、アド マネージャーの管理画面で Ad Exchange タグを生成し、アプリにコピーします。生成されたタグには、Ad Exchange のウェブ プロパティ コードと、その後に続く下位広告ユニット ID(末尾のスラッシュなし)が含まれている必要があります(例: ca-mb-app-pub-5629679302779023/banner)。

これで完了です。これで、アプリで Ad Exchange のバナー広告を読み込んで表示できるようになりました。

また、Ad Exchange のウェブ プロパティを使用して、Ad Exchange の他の広告フォーマットを読み込んで表示することもできます。詳しくは、以下のガイドをご覧ください。

(ヨーロッパの承認済みパブリッシャー様のみ)最低価格を追加する

「最低価格」機能の使用リクエストを送信できます。

承認されると、pubf パラメータと pvtf パラメータを使用して、それぞれパブリック フロアまたはプライベート フロアを広告リクエストに含めることができます。次のコード例では、「123」を最小単位の最低価格とネットワークのデフォルト通貨に置き換えます。マイクロの適用例: デフォルトの通貨が米ドルの場合、「6000000」と入力すると 6.00 ドルに相当します。

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();

Java

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();