カスタム レンダリングによるネイティブ広告とバナー広告のリクエストの組み合わせ

コードを少し変更するだけで、広告リクエストでネイティブ広告とバナー広告を組み合わせることができます。

前提条件

  • Google Mobile Ads SDK のバージョン 11.0.0 以降。
  • スタートガイドの手順を完了していること

広告を読み込む

カスタム レンダリングされるネイティブ広告は、AdLoader クラスを使用して読み込まれます。このクラスには、作成時にカスタマイズするための独自の AdLoader.Builder クラスがあります。作成時に AdLoader にリスナーを追加することで、アプリで受信可能な広告フォーマットのタイプを指定できます。AdLoader は指定されたタイプのみをリクエストします。

バナー広告またはネイティブ広告を生成する広告リクエストを行うように AdLoader オブジェクトを設定することもできます。作成時に OnAdManagerAdViewLoadedListenerAdLoader に追加すると、バナー広告がネイティブ広告と競合して、リクエストを埋めることが指定されます。

次のコードは、1 回のリクエストでネイティブ広告またはバナー広告を読み込む AdLoader の作成方法を示しています。

Java

AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/nativeandbanner")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
      @Override
      public void onNativeAdLoaded(NativeAd nativeAd) {
        // Show the ad.
      }
    })
    .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() {
      @Override
      public void onAdManagerAdViewLoaded(AdManagerAdView adView) {
        // Show the banner ad.
      }
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(new AdListener() {
      @Override
      public void onAdFailedToLoad(LoadAdError error) {
        // Handle the failure by logging, altering the UI, and so on.
      }
    })
    .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/6499/example/nativeandbanner")
    .forNativeAd { nativeAd ->
      // Show the ad.
    }
    .forAdManagerAdView({ adView ->
      // Show the banner ad.
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(object: AdListener() {
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Handle the failure by logging, altering the UI, and so on.
      }
    })
    .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build()

上記の forAdManagerAdView() メソッドは、バナー広告を受け取るために AdLoader を準備します。forAdManagerAdView() を呼び出す際は、有効な広告サイズの可変長リストを OnAdManagerAdViewLoadedListener とともに指定する必要があります。

有効な広告リクエストを行うには、有効な広告サイズを 1 つ以上指定する必要があります。バナー広告が正常に読み込まれると、指定されたリスナー オブジェクトの onAdManagerAdViewLoaded() メソッドが呼び出されます。

AdViewOptions の設定

上記の AdLoader の作成に含まれる最後の関数 withAdManagerAdViewOptions() もオプション メソッドです。

Java

.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

Kotlin

.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

ニュース メディアは AdManagerAdViewOptions オブジェクトを使用して、AdLoader で読み込まれるバナーに次のような特定のオプションを設定できます。

setManualImpressionsEnabled()
Google アド マネージャーの純広告について、手動インプレッション レポートを有効にします。手動インプレッションを使用しているアプリは、インプレッションを記録するタイミングをアプリ側で判断できます。そのためには、AdManagerAdView.recordManualImpression() を呼び出します。