折叠式横幅广告

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

前提条件

实现

请确保横幅广告视图的定义尺寸与您希望用户在常规(已收起)横幅广告状态下看到的尺寸一致。在广告请求中添加 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 需求来源。通过中介投放的广告会以常规的不可收起的横幅广告形式展示。