折叠式横幅广告

折叠式横幅广告是一种横幅广告,最初会以较大的叠加层形式展示,并提供一个可将其收起为原始请求的横幅广告尺寸的按钮。折叠式横幅广告旨在提升锚定广告(尺寸较小的锚定广告)的效果。本指南介绍了如何为现有横幅展示位置启用可收起的横幅广告。

前提条件

实现

请确保横幅广告视图的定义尺寸与您希望用户在常规(已收起)横幅广告状态下看到的尺寸一致。在广告请求中添加 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.")
}

中介

在 Beta 版测试期间,折叠式横幅广告仅适用于 Google 需求来源。通过中介投放的广告将显示为常规的不可折叠横幅广告。