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

プラットフォームを選択: Android iOS

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

前提条件

Ad Exchange にアクセスするようにアプリを構成する

android:name="com.google.android.gms.ads.APPLICATION_ID" を含む <meta-data> タグを使用して、アプリの AndroidManifest.xml ファイルにアド マネージャー アプリ ID(アド マネージャーの管理画面で確認)を追加します。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/

たとえば、次のように Activity のレイアウトに AdManagerAdView を配置してバナー広告を読み込むには:

# main_activity.xml
...
  <com.google.android.gms.ads.admanager.AdManagerAdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adManagerAdView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-mb-app-pub-5629679302779023/">
  </com.google.android.gms.ads.admanager.AdManagerAdView>

または、ビュー階層をプログラムで作成することもできます。

Java

AdManagerAdView adView = new AdManagerAdView(this);

adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");

// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdManagerAdView(this)

adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"

// TODO: Add adView to your view hierarchy.

AdManagerAdView を配置したら、AdManagerAdView クラスで loadAd() メソッドを呼び出すことができます。また、広告イベントを使用して広告の動作をカスタマイズすることもできます。

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

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

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

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

また、Ad Exchange ウェブ プロパティを使用して、次のガイドに沿って Ad Exchange の他の広告フォーマットを読み込んで表示することもできます。

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

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

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

Java

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

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();

Kotlin

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

val request = AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
    .build();