內嵌自動調整橫幅廣告

「自動調整橫幅廣告」的寬度可自由指定,為各種裝置決定最合適的廣告大小。與錨定自動調整橫幅廣告不同,內嵌自動調整橫幅廣告的版面更大、更高。這類廣告的高度會依情況調整,可能與螢幕等高,或在您指定的高度上限內。

本指南將說明如何建立內嵌自動調整橫幅廣告,以及設定橫幅大小。

下圖顯示捲動內容中的內嵌自動調整橫幅廣告:

圖表:自動調整橫幅廣告和內嵌自動調整橫幅廣告的差異

事前準備

繼續操作前,請先設定橫幅廣告

如要查看完整的內嵌自動調整橫幅廣告範例,請下載下列範例應用程式:

導入內嵌自動調整橫幅廣告

如要導入內嵌自動調整橫幅廣告,請設定廣告大小、建立廣告請求,然後載入廣告。

如要調整內嵌自動調整橫幅廣告的大小,請決定廣告寬度。常見方法包括:

  • 使用全螢幕寬度。
  • 使用包含廣告的上層布局寬度。
  • 根據裝置的安全區域調整寬度。

建立廣告大小物件時,請使用這個計算出的寬度。

以下範例會設定廣告大小、建立廣告請求,然後載入廣告:

Kotlin

private fun loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()

  // Step 2 - Load the ad.
  BannerAd.load(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        // Assign the loaded ad to the BannerAd object.
        bannerAd = ad
        // Step 3 - Call BannerAd.getView() to get the View and add it
        // to view hierarchy on the UI thread.
        activity?.runOnUiThread {
          binding.bannerViewContainer.addView(ad.getView(requireActivity()))
        }
      }

      override fun onAdFailedToLoad(loadAdError: LoadAdError) {
        bannerAd = null
      }
    }
  )
}

Java

private void loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
      adSize).build();

  // Step 2 - Load the ad.
  BannerAd.load(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd ad) {
          // Assign the loaded ad to the BannerAd object.
          bannerAd = ad;
          // Step 3 - Call BannerAd.getView() to get the View and add it
          // to view hierarchy on the UI thread.
          if (getActivity() != null) {
            getActivity()
                .runOnUiThread(() ->
                    binding.bannerViewContainer.addView(ad.getView(getActivity())));
          }
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          bannerAd = null;
        }
      });
}

設定內嵌自動調整橫幅廣告的版面配置

如要預先載入特定版面配置的內嵌自動調整橫幅廣告,請使用下列方法:

如果應用程式支援直向與橫向顯示,而您想預先載入符合目前版面配置的自動調整橫幅廣告,請使用 AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) 方法。這個方法會在目前的版面配置中載入廣告。

限制自動調整內嵌橫幅廣告的高度

如果建立內嵌自動調整橫幅廣告時未指定 maxHeight 值,高度上限即為裝置高度。如要限制內嵌自動調整橫幅廣告的高度,請使用 AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) 方法。