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

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

前提条件

  • Google Mobile Ads SDK バージョン 11.0.0 以降。
  • スタートガイドの手順を完了します。

広告を読み込む

カスタム レンダリング ネイティブ広告の読み込みには AdLoader クラスを使用します。このクラスは、独自の AdLoader.Builder クラスを使って作成時にカスタマイズできるようになっています。AdLoader の作成時にリスナーを追加すると、アプリで受け取る広告フォーマットの種類を指定できます。指定すると、AdLoader はその種類の広告だけをリクエストするようになります。

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

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

Java

AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner")
    .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, "/21775744923/example/native-and-banner")
    .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() を呼び出すことで行えます。