将原生广告请求和横幅广告请求组合使用

只需对代码进行少量更改,您就可以在广告请求中同时使用原生广告和横幅广告。

前提条件

加载广告

如需发出组合式原生广告和横幅广告请求,请执行以下操作:

  1. NativeAdRequest 中以列表形式同时传递 NativeAdType.NATIVE 类型和 NativeAdType.BANNER 类型。

  2. 设置至少一种横幅广告尺寸。

以下示例会加载一个组合的原生广告和横幅广告:

Kotlin

val adRequest =
  NativeAdRequest.Builder(AD_UNIT_ID, listOf(NativeAdType.NATIVE, NativeAdType.BANNER))
    // Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
    .setAdSizes(listOf(AdSize.BANNER, AdSize.LARGE_BANNER))
    .build()

// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback())

Java

NativeAdRequest adRequest =
    new NativeAdRequest.Builder(AD_UNIT_ID, List.of(NativeAdType.NATIVE, NativeAdType.BANNER))
        // Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
        .setAdSizes(Arrays.asList(AdSize.BANNER, AdSize.LARGE_BANNER))
        .build();

// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback());

NativeAdLoaderCallback 对象获取广告

根据成功加载的广告类型,NativeAdLoaderCallback 对象会针对原生广告调用 onNativeAdLoaded() 方法,针对横幅广告调用 onBannerAdLoaded() 方法。

以下示例获取了横幅广告或原生广告:

Kotlin

private fun getNativeAdLoaderCallback(): NativeAdLoaderCallback {
  return object : NativeAdLoaderCallback {
    override fun onNativeAdLoaded(nativeAd: NativeAd) {
      // Called when a native ad has loaded.
    }

    override fun onBannerAdLoaded(bannerAd: BannerAd) {
      // Called when a banner ad has loaded.
    }
  }
}

Java

private NativeAdLoaderCallback getNativeAdLoaderCallback() {
  return new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      // Called when a native ad has loaded.
    }

    @Override
    public void onBannerAdLoaded(@NonNull BannerAd bannerAd) {
      // Called when a banner ad has loaded.
    }
  };
}