折叠式横幅广告最初会以较大的叠加层形式展示,并提供一个可将其收起为最初请求的横幅广告尺寸的按钮。折叠式横幅广告旨在提升锚定广告(否则尺寸会较小)的效果。本指南介绍了如何为现有横幅广告展示位置启用可收起的横幅广告。
前提条件
- 完成横幅广告入门指南中的步骤。
实现
请确保您的横幅广告视图是按照您希望用户在常规(已收起)横幅广告状态下看到的尺寸定义的。在广告请求中添加一个 extras 参数,其中 collapsible
为键,广告展示位置为值。
折叠式展示位置定义了展开区域如何锚定到横幅广告。
Placement 值
|
行为 | 预期使用情形 |
---|---|---|
top |
展开式广告的顶部与收拢式广告的顶部对齐。 | 广告位于屏幕顶部。 |
bottom |
展开的广告的底部与收拢的广告的底部对齐。 | 广告位于屏幕底部。 |
如果加载的广告是可收缩的横幅广告,则该横幅广告在放置到视图层次结构中后会立即显示可收缩的叠加层。
Java
private void loadBannerAd() {
adView = new AdView(this);
adView.setAdUnitId("ca-app-pub-3940256099942544/2014213617")
AdSize adSize = getAdSize();
adView.setAdSize(adSize);
// 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");
AdRequest adRequest = new AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
adView.loadAd(adRequest);
}
Kotlin
private fun loadBanner() {adView = AdView(this);
adView.adUnitId = "ca-app-pub-3940256099942544/2014213617"
adView.setAdSize(adSize)
// 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")
val adRequest = AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
adView.loadAd(adRequest)
}
广告刷新行为
对于在 AdMob 网页界面中为横幅广告配置了自动刷新的应用,当为横幅广告位请求折叠式横幅广告时,后续的广告刷新不会再请求折叠式横幅广告。这是因为在每次刷新时都显示折叠式横幅广告可能会对用户体验产生负面影响。
如果想在会话中的稍晚时间再加载一个折叠式横幅广告,您可以使用包含 collapsible 参数的请求手动加载广告。
检查已加载的广告是否可收起
非折叠式横幅广告符合条件,可以针对折叠式横幅广告请求返回,从而最大限度地提升广告效果。调用 isCollapsible
以检查加载的最后一个横幅是否可收起。如果请求未能加载,且之前的横幅可收起,则 API 会返回 true。
Java
public void onAdLoaded() {
Log.i(TAG, String.format("The last loaded banner is %scollapsible.", adView.isCollapsible() ? "" : "not "));
}
Kotlin
fun onAdLoaded() {
Log.i(TAG, "The last loaded banner is ${if (adView.isCollapsible) "" else "not "}collapsible.")
}
中介
折叠式横幅广告仅适用于 Google 需求。通过中介投放的广告会显示为常规的不可收起的横幅广告。