折叠式横幅广告
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
折叠式横幅广告最初会以较大的叠加层形式展示,并提供一个可将其收起为最初请求的横幅广告尺寸的按钮。折叠式横幅广告旨在提升锚定广告(否则尺寸会较小)的效果。本指南介绍了如何为现有横幅广告展示位置启用可收起的横幅广告。

前提条件
实现
请确保您的横幅广告视图是按照您希望用户在常规(已收起)横幅广告状态下看到的尺寸定义的。在广告请求中添加一个 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)
}
广告刷新行为
对于在 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 需求。通过中介投放的广告会显示为常规的不可折叠横幅广告。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-31。
[null,null,["最后更新时间 (UTC):2025-08-31。"],[[["\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."]]