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

前提条件
实现
请确保您的横幅广告视图是按照您希望用户在常规(已收起)横幅广告状态下看到的尺寸定义的。在广告请求中添加一个 extras 参数,其中 collapsible
为键,广告的展示位置为值。
可折叠展示位置用于定义广告展开后的区域如何锚定于横幅广告。
Placement 值
|
行为 |
预期应用场景 |
top |
展开的广告顶部与折叠的广告顶部对齐。 |
广告展示于屏幕顶部。 |
bottom |
展开的广告底部与折叠的广告底部对齐。 |
广告展示于屏幕底部。 |
如果加载的广告是折叠式横幅广告,则该横幅广告在放置到视图层次结构中后会立即显示可折叠的叠加层。
void _loadAd() async {
// Replace these test ad units with your own ad units.
final String adUnitId = Platform.isAndroid
? 'ca-app-pub-3940256099942544/2014213617'
: 'ca-app-pub-3940256099942544/8388050270';
// Get the size before loading the ad.
final size = await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
MediaQuery.sizeOf(context).width.truncate());
if (size == null) {
// Unable to get the size.
return;
}
// Create an extra parameter that aligns the bottom of the expanded ad to the
// bottom of the banner ad.
const adRequest = AdRequest(extras: {
"collapsible": "bottom",
});
BannerAd(
adUnitId: adUnitId,
request: adRequest,
size: size,
listener: const BannerAdListener()
).load();
}
广告刷新行为
对于在 AdMob 网页界面中为横幅广告配置了自动刷新功能的应用,当为某个横幅广告位请求折叠式横幅广告后,后续的广告刷新不会再请求折叠式横幅广告。这是因为在每次刷新时都显示折叠式横幅广告可能会对用户体验产生负面影响。
如果您想在会话中的稍晚时间再加载一个折叠式横幅广告,可以使用包含 collapsible 参数的请求手动加载广告。
折叠式横幅广告仅适用于 Google 需求来源。通过中介投放的广告会显示为常规的非折叠式横幅广告。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-25。
[null,null,["最后更新时间 (UTC):2025-08-25。"],[[["\u003cp\u003eCollapsible banner ads start as larger overlays and can be collapsed to a standard banner size for improved anchored ad performance.\u003c/p\u003e\n"],["\u003cp\u003eTo implement, define the collapsed banner size and include an extras parameter in the ad request specifying the collapsible placement (\u003ccode\u003etop\u003c/code\u003e or \u003ccode\u003ebottom\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eCollapsible banners are initially displayed as expanded and automatically collapse; auto-refresh is not supported for these ads to avoid impacting user experience.\u003c/p\u003e\n"],["\u003cp\u003eCurrently, collapsible banner ads are only available for Google demand, and mediated ads will display as regular banners.\u003c/p\u003e\n"]]],["Collapsible banner ads display as a large overlay initially, then collapse to the specified banner size. To enable them, define the desired collapsed banner size, and include an `extras` parameter in the ad request with `collapsible` as the key and `top` or `bottom` for placement. This defines how the expanded ad aligns. Refreshed ads do not request collapsible banners. They are available for Google demand only; mediated ads are not collapsible.\n"],null,["# Collapsible banner ads\n\nSelect 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\n- Complete the [banner ads get started guide](/admob/flutter/banner).\n\nImplementation\n--------------\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\n void _loadAd() async {\n // Replace these test ad units with your own ad units.\n final String adUnitId = Platform.isAndroid\n ? 'ca-app-pub-3940256099942544/2014213617'\n : 'ca-app-pub-3940256099942544/8388050270';\n\n // Get the size before loading the ad.\n final size = await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(\n MediaQuery.sizeOf(context).width.truncate());\n\n if (size == null) {\n // Unable to get the size.\n return;\n }\n\n // Create an extra parameter that aligns the bottom of the expanded ad to the\n // bottom of the banner ad.\n const adRequest = AdRequest(extras: {\n \"collapsible\": \"bottom\",\n });\n\n BannerAd(\n adUnitId: adUnitId,\n request: adRequest,\n size: size,\n listener: const BannerAdListener()\n ).load();\n }\n\nAds refreshing behavior\n-----------------------\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\n\u003cbr /\u003e\n\nMediation\n---------\n\nCollapsible banner ads are only available for Google demand. Ads served through\nmediation show as normal, non-collapsible banner ads."]]