使用可收合橫幅廣告

可收合橫幅廣告一開始顯示時,會以較大尺寸重疊在畫面上,當使用者點按收合按鈕,廣告就會恢復為最初請求的橫幅廣告大小。可收合橫幅廣告是為了提升原本尺寸較小的錨定廣告成效。本指南說明如何在現有的橫幅廣告刊登位置,顯示可收合橫幅廣告。

必要條件

導入作業

請確認您的橫幅廣告檢視區塊,已設為您希望使用者在廣告收合狀態下看到的標準尺寸。接著在廣告請求中加入 extras 參數,將 collapsible 設為鍵,並將廣告刊登位置設為值。

collapsible 刊登位置定義了展開區域與橫幅廣告之間的錨定關係。

Placement 值 行為 預定用途
top 廣告展開與收合時上緣對齊。 廣告位於畫面頂端。
bottom 展開廣告與收合廣告時底部對齊。 廣告位於畫面底部。

如果載入可收合橫幅廣告,廣告加入檢視區塊階層後,就會立即顯示可收合的疊加層:

Kotlin

private fun loadCollapsibleBannerAd(adView: AdView, activity: Activity) {
  val adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(activity, 360)

  // Create an extra parameter that aligns the bottom of the expanded ad to
  // the bottom of the adView.
  val extras = Bundle()
  extras.putString("collapsible", "bottom")

  val adRequest =
    BannerAdRequest.Builder(AD_UNIT_ID, adSize).setGoogleExtrasBundle(extras).build()

  adView.loadAd(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        Log.i(
          TAG,
          "The last loaded banner is ${if (ad.isCollapsible()) "" else "not "}collapsible.",
        )
      }


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

Java

private void loadCollapsibleBannerAd(@NonNull AdView adView, @NonNull Activity activity) {
  AdSize adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(activity, 360);

  // Create an extra parameter that aligns the bottom of the expanded ad to
  // the bottom of the adView.
  Bundle extras = new Bundle();
  extras.putString("collapsible", "bottom");

  BannerAdRequest adRequest =
      new BannerAdRequest.Builder(AD_UNIT_ID, adSize).setGoogleExtrasBundle(extras).build();

  adView.loadAd(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd ad) {
          Log.i(
              TAG,
              String.format(
                  "The last loaded banner is %scollapsible.", ad.isCollapsible() ? "" : "not "));
        }


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

將 AD_UNIT_ID 替換為廣告單元 ID。

廣告重新整理行為

如果應用程式在 Ad Manager 網頁介面中,已設定橫幅廣告自動重新整理功能,則一旦橫幅廣告版位請求可收合橫幅廣告,後續重新整理時,就不會再請求這類廣告 這是因為若每次重新整理都顯示可收合橫幅廣告,可能會對使用者體驗造成負面影響。

如果想在同一工作階段內再次載入可收合橫幅廣告,可以手動發送包含 collapsible 參數的廣告請求。

檢查載入的廣告能否收合

即使送出可收合橫幅廣告請求,仍可能會傳回不可收合橫幅廣告,這是為了盡量提升成效。如果無法載入請求,且前一個橫幅廣告可收合,API 會傳回 true 值。如要檢查載入的最後一個橫幅廣告能否收合,請呼叫 isCollapsible 方法:

Kotlin

override fun onAdLoaded(ad: BannerAd) {
  Log.i(
    TAG,
    "The last loaded banner is ${if (ad.isCollapsible()) "" else "not "}collapsible.",
  )
}

Java

@Override
public void onAdLoaded(@NonNull BannerAd ad) {
  Log.i(
      TAG,
      String.format(
          "The last loaded banner is %scollapsible.", ad.isCollapsible() ? "" : "not "));
}

中介服務

可收合橫幅廣告僅適用於 Google 廣告需求。透過中介服務放送的廣告,會顯示為不可收合的一般橫幅廣告。