可收合橫幅廣告
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
可收合橫幅廣告一開始出現時,會以較大尺寸重疊在畫面上,使用者點選上面的按鈕後,廣告就會收合成最初請求的橫幅尺寸。這種顯示方式能讓原本尺寸較小的錨定廣告更醒目,提升廣告效果。本指南將介紹如何在現有的橫幅廣告刊登位置,顯示可收合橫幅廣告。

必要條件
導入作業
請確認您的橫幅廣告檢視區塊,已設為您希望使用者在廣告收合狀態下看到的標準尺寸。接著在廣告請求中加入 extras 參數,將 collapsible
設為鍵,並將廣告刊登位置設為相應的值。
collapsible 刊登位置定義了展開區域會怎麼固定在橫幅廣告上。
Placement 值 |
行為 |
預定用途 |
top |
廣告展開與收合時的上緣會對齊。 |
廣告位於畫面頂端。 |
bottom |
廣告展開與收合時的下緣會對齊。 |
廣告位於畫面底部。 |
如果載入的是可收合橫幅廣告,則橫幅廣告一加到檢視區塊階層,就會立即顯示可收合疊加層。
Java
private void loadCollapsibleBanner() {
// Create an extra parameter that aligns the bottom of the expanded ad to
// the bottom of the bannerView.
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
// Create an ad request.
AdRequest adRequest =
new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();
// ...
// Start loading a collapsible banner ad.
adView.loadAd(adRequest);
}
Kotlin
private fun loadCollapsibleBanner() {
// Create an extra parameter that aligns the bottom of the expanded ad to
// the bottom of the bannerView.
val extras = Bundle()
extras.putString("collapsible", "bottom")
// Create an ad request.
val adRequest =
AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()
// ...
// Start loading a collapsible banner ad.
adView.loadAd(adRequest)
}
廣告重新整理行為
如果在 Ad Manager 網頁介面中,設定自動重新整理應用程式內的橫幅廣告,當某個橫幅廣告版位請求到可收合橫幅廣告,後續更新將不再請求這類廣告,因為每次更新都重新展開廣告,可能對使用者體驗造成負面影響。
如果想在同一工作階段內再次載入可收合橫幅廣告,可以手動發送包含 collapsible 參數的廣告請求。
檢查載入的廣告是否可收合
為盡可能提高成效,可收合橫幅廣告的請求也可能傳回不可收合的橫幅廣告。您可以呼叫 isCollapsible
來檢查最新載入的橫幅廣告能否收合。如果請求載入失敗,而且前一則橫幅廣告可收合,API 會回傳 true。
Java
public void onAdLoaded() {
Log.i(
MainActivity.LOG_TAG,
String.format("Ad loaded. adView.isCollapsible() is %b.", adView.isCollapsible()));
}
Kotlin
override fun onAdLoaded() {
Log.i(
MainActivity.LOG_TAG,
"Ad loaded. adView.isCollapsible() is ${adView.isCollapsible}.",
)
}
可收合橫幅廣告僅適用於 Google 廣告需求。透過中介服務放送的廣告,會顯示為一般的不可收合橫幅廣告。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-09-05 (世界標準時間)。
[null,null,["上次更新時間:2025-09-05 (世界標準時間)。"],[[["\u003cp\u003eCollapsible banner ads are initially larger overlays that can shrink to a standard banner size, enhancing the performance of smaller, anchored ads.\u003c/p\u003e\n"],["\u003cp\u003eTo enable, define your banner view's collapsed size and include an extra parameter in the ad request specifying the placement (\u003ccode\u003etop\u003c/code\u003e or \u003ccode\u003ebottom\u003c/code\u003e) for the expanded region.\u003c/p\u003e\n"],["\u003cp\u003eAuto-refresh is disabled for collapsible banners after the initial load to prioritize user experience; manual requests with the collapsible parameter are needed for subsequent collapsible ads.\u003c/p\u003e\n"],["\u003cp\u003eYou can verify if a loaded ad is collapsible using the \u003ccode\u003eisCollapsible\u003c/code\u003e method, which returns true even if the request fails but the previous banner was collapsible.\u003c/p\u003e\n"],["\u003cp\u003eCurrently, collapsible banner ads are exclusively supported for Google demand during the beta period; mediated ads will display as regular banners.\u003c/p\u003e\n"]]],["Collapsible banner ads display as a large overlay initially, then collapse to the requested banner size. To implement, define the desired collapsed banner size and add an \"extras\" parameter to the ad request, setting \"collapsible\" with the desired placement (\"top\" or \"bottom\"). If the loaded ad is collapsible, it will show the overlay upon entering the view hierarchy. Subsequent ad refreshes do not request collapsible banners, but they can be loaded manually. Use `isCollapsible` to verify if the loaded banner is collapsible. Mediation will not show collapsible banners.\n"],null,["Select platform: [Android](/ad-manager/mobile-ads-sdk/android/banner/collapsible \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/banner/collapsible \"View this page for the iOS platform docs.\") [Unity](/ad-manager/mobile-ads-sdk/unity/banner/collapsible \"View this page for the Unity platform docs.\") [Flutter](/ad-manager/mobile-ads-sdk/flutter/banner/collapsible \"View this page for the Flutter platform docs.\")\n\n\u003cbr /\u003e\n\nCollapsible banner ads are banner ads that are initially presented as a larger\noverlay, with a button to collapse them to the originally requested banner size.\nCollapsible banner ads are intended to improve performance of anchored ads that\nare otherwise a smaller size. This guide shows how to turn on collapsible banner\nads for existing banner placements.\n\nPrerequisites\n\n- Complete the [banner ads get started guide](/ad-manager/mobile-ads-sdk/android/banner).\n\nImplementation\n\nMake sure your banner view is defined with the size you would like users to see\nin the regular (collapsed) banner state. Include an extras parameter in the ad\nrequest with `collapsible` as the key and the placement of the ad as the value.\n\nThe collapsible placement defines how the expanded region anchors to the banner\nad.\n\n| `Placement` value | Behavior | Intended use case |\n|-------------------|-------------------------------------------------------------------------|-----------------------------------------------|\n| `top` | The top of the expanded ad aligns to the top of the collapsed ad. | The ad is placed at the top of the screen. |\n| `bottom` | The bottom of the expanded ad aligns to the bottom of the collapsed ad. | The ad is placed at the bottom of the screen. |\n\nIf the loaded ad is a collapsible banner, the banner shows the collapsible\noverlay immediately once it's placed in the view hierarchy.\n\nJava \n\n private void loadCollapsibleBanner() {\n // Create an extra parameter that aligns the bottom of the expanded ad to\n // the bottom of the bannerView.\n Bundle extras = new Bundle();\n extras.putString(\"collapsible\", \"bottom\");\n\n // Create an ad request.\n AdRequest adRequest =\n new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();\n\n // ...\n\n // Start loading a collapsible banner ad.\n adView.loadAd(adRequest);\n } \n https://github.com/googleads/googleads-mobile-android-examples/blob/ccc290a583d7f552bdcf81ea76adc05beaa43f0b/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/CollapsibleBannerFragment.java#L63-L91\n\nKotlin \n\n private fun loadCollapsibleBanner() {\n // Create an extra parameter that aligns the bottom of the expanded ad to\n // the bottom of the bannerView.\n val extras = Bundle()\n extras.putString(\"collapsible\", \"bottom\")\n\n // Create an ad request.\n val adRequest =\n AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()\n\n // ...\n\n // Start loading a collapsible banner ad.\n adView.loadAd(adRequest)\n } \n https://github.com/googleads/googleads-mobile-android-examples/blob/ccc290a583d7f552bdcf81ea76adc05beaa43f0b/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/CollapsibleBannerFragment.kt#L58-L86\n\n\u003cbr /\u003e\n\nAds refreshing behavior\n\nFor apps that configure auto-refresh for banner ads in the\nAd Manager web interface, when a collapsible banner ad\nis requested for a banner slot, subsequent ad refreshes won't request\ncollapsible banner ads. This is because showing a collapsible banner on every\nrefresh could have a negative impact on user experience.\n\nIf you want to load another collapsible banner ad later in the session, you can\nload an ad manually with a request containing the collapsible parameter.\n\nCheck if a loaded ad is collapsible\n\nNon-collapsible banner ads are eligible to return for collapsible banner\nrequests to maximize performance. Call `isCollapsible` to check if the last\nbanner loaded is collapsible. If the request fails to load and the previous\nbanner is collapsible, the API returns true. \n\nJava \n\n public void onAdLoaded() {\n Log.i(\n MainActivity.LOG_TAG,\n String.format(\"Ad loaded. adView.isCollapsible() is %b.\", adView.isCollapsible()));\n } \n https://github.com/googleads/googleads-mobile-android-examples/blob/ccc290a583d7f552bdcf81ea76adc05beaa43f0b/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/CollapsibleBannerFragment.java#L79-L83\n\nKotlin \n\n override fun onAdLoaded() {\n Log.i(\n MainActivity.LOG_TAG,\n \"Ad loaded. adView.isCollapsible() is ${adView.isCollapsible}.\",\n )\n } \n https://github.com/googleads/googleads-mobile-android-examples/blob/ccc290a583d7f552bdcf81ea76adc05beaa43f0b/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/CollapsibleBannerFragment.kt#L73-L78\n\n\u003cbr /\u003e\n\nMediation\n\nCollapsible banner ads are only available for Google demand. Ads served through\nmediation show as normal, non-collapsible banner ads."]]