横幅广告是占据应用部分布局的矩形广告。他们 当用户与应用互动时停留在屏幕上(锚定在 或在用户滚动屏幕时内嵌到屏幕的顶部或底部。横幅 广告可以在一段时间后自动刷新。查看横幅广告概览 。
本指南介绍了如何开始使用锚定自适应横幅广告 广告, 该功能可针对每种设备优化广告尺寸 指定广告宽度
锚定型自适应横幅广告是固定宽高比广告,而不是常规的固定尺寸广告。宽高比类似于业界标准的 320x50。一次 您指定了可用的全宽,系统会为您返回 高度。无论从哪个请求发送, 广告,并且当广告展示时,周围的视图无需移动 刷新。
前提条件
- 完成入门指南。
务必用测试广告进行测试
在构建和测试应用时,请务必使用测试广告 实际投放的广告。否则,可能会导致您的账号被暂停。
要加载测试广告,最简便的方法就是使用我们的专用测试广告单元 ID Android 横幅广告:
ca-app-pub-3940256099942544/9214589741
该测试广告单元 ID 已经过专门配置,可为每个请求返回测试广告,而且您可以 在自己应用的编码、测试和调试过程中使用。只需确保您 请将其替换为您自己的广告单元 ID,然后再发布应用。
如需详细了解移动广告 SDK 的测试广告如何运作,请参阅测试 广告。
将 AdView 添加到布局中
要展示横幅广告,首先要将 AdView
放置
:
Java
// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView
// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)
加载广告
AdView 就位后,下一步是
加载广告。您可以使用 loadAd()
方法(在 AdView
类中)。需要 AdRequest
参数,其中包含运行时信息,如定位信息、
发出一个广告请求。
以下示例展示了如何加载广告:
Java
// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)
如果广告加载失败,只要已将广告单元配置为定期刷新,就无需再明确请求一个广告;Google 移动广告 SDK 会按照您在 AdMob 网页界面中指定的刷新频率进行刷新。如果您尚未启用刷新,则需要发出新的请求。
大功告成!您的应用现在就可以展示横幅广告了。
广告事件
您可以监听广告生命周期内的许多事件,包括加载、 广告展示和点击以及广告打开和关闭事件。建议 在加载横幅广告之前设置回调。Java
adView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
adView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
其中每种可替换的方法
AdListener
对应于广告生命周期内的事件。
可替换的方法 | |
---|---|
onAdClicked() |
onAdClicked()
方法时,系统会调用该方法。
|
onAdClosed() |
onAdClosed()
方法。
目标网址应用可以使用此方法恢复暂停的活动,或
执行任何其他必要的操作,以做好互动准备。
请参阅 AdMob
AdListener 示例,展示了
Android API 演示版应用。
|
onAdFailedToLoad() |
onAdFailedToLoad()
是唯一包含参数的方法。类型的错误参数
LoadAdError 描述了发生了什么错误。如需更多信息
有关调试广告加载错误,请参阅调试广告加载错误
文档。
|
onAdImpression() |
onAdImpression()
方法。
|
onAdLoaded() |
onAdLoaded()
方法。如果您想推迟
添加 AdView
直到确定广告会加载为止
您可以在此处执行此操作。
|
onAdOpened() |
onAdOpened()
方法。
|
适用于视频广告的硬件加速功能
要想让视频广告在横幅广告视图中成功展示,硬件 加速必须 。
硬件加速默认处于启用状态,但有些应用可能会选择停用
。如果您的应用属于这种情况,我们建议您为
Activity
类使用广告。
启用硬件加速
如果您的应用在启用硬件加速时无法正常运行
也可以针对单个活动进行控制如需启用或停用硬件加速,您可以针对 AndroidManifest.xml
中的 <application>
和 <activity>
元素使用 android:hardwareAccelerated
属性。以下示例展示了如何将硬件
加速,但对一个 activity 停用加速:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
有关详情,请参阅硬件加速 指南,了解更多信息 有关用于控制硬件加速的选项的信息。请注意, 对于单个广告浏览,如果相应活动 已停用,因此 activity 本身必须启用硬件加速。
其他资源
GitHub 上的示例
后续步骤
折叠式横幅广告
折叠式横幅广告是一种横幅广告,初始展示时采用较大的 叠加层,以及一个可将广告合拢为较小尺寸的按钮。考虑使用 进一步优化广告效果如需了解详情,请参阅折叠式横幅广告。
内嵌自适应横幅广告
与锚定自适应横幅广告相比,内嵌自适应横幅广告是一种更大、更高的横幅广告 横幅广告。它们的高度可以调整,可以达到设备屏幕的高度。 对于在可滚动内容中放置横幅广告的应用,建议使用内嵌自适应横幅广告,而不是锚定自适应横幅广告。请参阅内联自适应 横幅 。