可收合橫幅廣告
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
「可收合橫幅廣告」一開始顯示時,會以較大尺寸重疊在畫面上,當使用者點按收合按鈕,廣告就會恢復為最初請求的橫幅廣告大小。錨定廣告版面較小,使用可收合橫幅廣告有助於提升錨定廣告成效。本指南說明如何在現有的橫幅廣告刊登位置,顯示可收合橫幅廣告。

先決條件
導入方式
請務必定義橫幅廣告檢視區塊的標準大小,也就是廣告在收合狀態時,使用者能看到的大小。接著在廣告請求中加入 extras 參數,將 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)
}
廣告重新整理行為
如果應用程式在 AdMob 網頁介面中,已設定橫幅廣告自動重新整理功能,則一旦橫幅廣告版位請求可收合橫幅廣告,後續重新整理時,就不會再請求這類廣告 (每次重新整理都顯示可收合橫幅廣告,可能會對使用者體驗造成負面影響)。
如果之後想在同一工作階段再次載入可收合橫幅廣告,可以手動發送包含 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-01 (世界標準時間)。
[null,null,["上次更新時間:2025-09-01 (世界標準時間)。"],[[["\u003cp\u003eCollapsible banner ads start as larger overlays and can be collapsed to a standard banner size, improving the performance of smaller anchored ads.\u003c/p\u003e\n"],["\u003cp\u003eTo implement, define the collapsed banner size and include an extra parameter in the ad request specifying the \u003ccode\u003ecollapsible\u003c/code\u003e placement (\u003ccode\u003etop\u003c/code\u003e or \u003ccode\u003ebottom\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eAuto-refresh is disabled for collapsible banners after the initial load to avoid negative user experiences; manual ad requests are needed for subsequent collapsible banners.\u003c/p\u003e\n"],["\u003cp\u003eYou can check if a loaded banner is collapsible using the \u003ccode\u003eisCollapsible\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eDuring the beta period, collapsible banners are only available for Google demand; mediated ads will display as standard banners.\u003c/p\u003e\n"]]],[],null,["Select platform: [Android](/admob/android/banner/collapsible \"View this page for the Android platform docs.\") [iOS](/admob/ios/banner/collapsible \"View this page for the iOS platform docs.\") [Unity](/admob/unity/banner/collapsible \"View this page for the Unity platform docs.\") [Flutter](/admob/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](/admob/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\nAdMob 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."]]