インライン アダプティブ バナー広告

アダプティブ バナーでは、指定した広告の幅に応じて、デバイスごとに最適な広告サイズが決定されます。アンカー アダプティブ バナーとは異なり、インライン アダプティブ バナーは大きく、高さがあり、高さが固定されていません。インライン アダプティブ バナーは、高さが変動します。これらのバナーは、画面全体に表示したり、指定した最大の高さで表示したりすることができます。

このガイドでは、インライン アダプティブ バナーを作成してバナーのサイズを設定する方法について説明します。

次の画像は、スクロール可能なコンテンツに表示されるインライン アダプティブ バナーを示しています。

アダプティブ バナーとインライン アダプティブ バナーの違いを示した図

始める前に

続行する前に、バナー広告を設定していることを確認してください。

インライン アダプティブ バナーの完全な例を確認するには、次のサンプルアプリをダウンロードしてください。

インライン アダプティブ バナーを実装する

インライン アダプティブ バナーを実装するには、広告サイズを設定し、広告リクエストを作成して、広告を読み込みます。

インライン アダプティブ バナーのサイズを設定するには、広告の幅を決定します。一般的なアプローチは次のとおりです。

  • 全画面幅を使用する。
  • 広告を含む親レイアウトの幅を使用する。
  • デバイスのセーフエリアを考慮して幅を調整する。

広告サイズ オブジェクトを作成する際は、この計算された幅を使用します。

次の例では、広告サイズを設定し、広告リクエストを作成して、広告を読み込んでいます。

Kotlin

private fun loadInlineAdaptiveBannerAd(adView: AdView, activity: Activity) {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val bannerWidth = 320
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(activity, bannerWidth)
  val adRequest = BannerAdRequest.Builder(AD_UNIT_ID, adSize).build()

  adView.loadAd(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        Log.d(TAG, "Inline adaptive banner ad loaded.")
      }

      override fun onAdFailedToLoad(adError: LoadAdError) {
        Log.d(TAG, "Inline adaptive banner ad failed to load: $adError")
      }
    },
  )
}

Java

private void loadInlineAdaptiveBannerAd(@NonNull AdView adView, @NonNull Activity activity) {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  int bannerWidth = 320;
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(activity, bannerWidth);
  BannerAdRequest adRequest = new BannerAdRequest.Builder(AD_UNIT_ID, adSize).build();

  adView.loadAd(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd bannerAd) {
          Log.d(TAG, "Inline adaptive banner ad loaded.");
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          Log.d(TAG, "Inline adaptive banner ad failed to load: " + adError);
        }
      });
}

AD_UNIT_ID は、実際の広告ユニット ID に置き換えてください。

デバイスの画面サイズ以下の広告サイズを設定します。 最大画面サイズを特定するには、Resources.getDisplayMetrics メソッドを使用します。AdSize オブジェクトの寸法には、密度非依存ピクセル(dp)を使用します。比較する際は、画面サイズをピクセルから dp に変換します。サイズ制限の詳細については、広告リクエストのサイズ要件をご覧ください。

インライン アダプティブ バナーのレイアウトを設定する

特定のレイアウトでインライン アダプティブ バナー広告をプリロードするには、次のメソッドを使用します。

アプリが縦向きと横向きの両方の画面表示に対応しており、現在のレイアウトでアダプティブ バナー広告をプリロードするには、AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) メソッドを使用します。このメソッドは、現在のレイアウトに広告を読み込みます。

インライン アダプティブ バナーの高さを制限する

デフォルトでは、maxHeight 値を指定せずに作成されたインライン アダプティブ バナーの最大高さはデバイスの高さと同じになります。インライン アダプティブ バナーの高さを制限するには、AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) メソッドを使用します。