只需对代码稍做更改,您就可以在广告请求中合并原生广告和横幅广告。
前提条件
- Google 移动广告 SDK 11.0.0 或更高版本。
- 完成入门指南。
加载广告
自定义呈现的原生广告使用 AdLoader
类加载,该类有自己的 AdLoader.Builder
类,可在广告制作过程中对其进行自定义。应用会在构建 AdLoader
时向其添加监听器,以指定它准备接收哪些类型的广告格式。然后,AdLoader
只会请求这些类型的数据。
AdLoader
对象还可以配置为发出可生成横幅广告或原生广告的广告请求。在构建 AdLoader
时将 OnAdManagerAdViewLoadedListener
添加到它,可指定横幅广告应与原生广告竞争填充请求。
以下代码演示了如何构建可在单个请求中加载原生广告或横幅广告的 AdLoader
:
Java
AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/nativeandbanner") .forNativeAd(new NativeAd.OnNativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { // Show the ad. } }) .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() { @Override public void onAdManagerAdViewLoaded(AdManagerAdView adView) { // Show the banner ad. } }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(new AdListener() { @Override public void onAdFailedToLoad(LoadAdError error) { // Handle the failure by logging, altering the UI, and so on. } }) .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build();
Kotlin
val adLoader = AdLoader.Builder(this, "/6499/example/nativeandbanner") .forNativeAd { nativeAd -> // Show the ad. } .forAdManagerAdView({ adView -> // Show the banner ad. }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(object: AdListener() { override fun onAdFailedToLoad(adError: LoadAdError) { // Handle the failure by logging, altering the UI, and so on. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
上面的 forAdManagerAdView()
方法会准备 AdLoader
以接收横幅广告。在调用 forAdManagerAdView()
时,必须指定长度可变的有效广告尺寸列表以及 OnAdManagerAdViewLoadedListener
。
要发出有效的广告请求,必须至少指定一个有效的广告尺寸。当横幅广告成功加载后,会调用指定监听器对象的 onAdManagerAdViewLoaded()
方法。
设置 AdViewOptions
在上述 AdLoader
的创建过程中,包含的最后一个函数是另一个可选方法 withAdManagerAdViewOptions()
:
Java
.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Kotlin
.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
通过 AdManagerAdViewOptions
对象,发布商可以为 AdLoader
加载的横幅广告设置特定选项,例如:
setManualImpressionsEnabled()
- 为 Google Ad Manager 预订型广告资源启用手动展示次数报告。使用手动展示的应用可以自行确定应在何时记录展示,并且可以通过调用
AdManagerAdView.recordManualImpression()
执行此操作。