折叠式横幅广告

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

前提条件

实现

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

广告刷新行为

对于在 Ad Manager 网站界面中为横幅广告配置自动刷新的应用,当为横幅广告位请求折叠式横幅广告时,后续的广告刷新不会再请求折叠式横幅广告。这是因为,在每次刷新时都显示折叠式横幅广告可能会对用户体验产生负面影响。

如果您想在会话中的稍晚时间再加载一个折叠式横幅广告,您可以使用包含 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 需求。通过中介投放的广告会以常规的不可收起的横幅广告形式展示。