本指南面向希望将广告元数据与适用于 Android 的 Google 移动广告 SDK 集成的发布商。
前提条件
- Google 移动广告 SDK 的最低版本为 17.0.0。
- 完成激励视频广告中的步骤。
提取广告元数据
某些应用可能希望详细了解投放的广告。您可以使用 AdMetadataListener
的实现调用 RewardedVideoAd.setAdMetadataListener()
,以监听激励视频广告的广告元数据更改。调用 AdMetadataListener.onAdMetadataChanged()
后,您可以检查 RewardedVideo.getAdMetadata()
以获取广告的元数据。
系统会在广告加载后立即调用 onAdMetadataChanged()
,或者在广告加载后其元数据异步更改时调用 onAdMetadataChanged()
。我们无法保证广告的元数据在广告加载时可用,因此建议您在访问广告的元数据之前等待此回调。
以下代码示例展示了如何检索广告元数据:
Java
RewardedAd.load(this, "/21775744923/example/rewarded", new AdManagerAdRequest.Builder().build(), new RewardedAdLoadCallback() { @Override public void onAdLoaded(@NonNull RewardedAd rewardedAd) { mRewardedAd = rewardedAd; rewardedAd.setOnAdMetadataChangedListener(new OnAdMetadataChangedListener() { @Override public void onAdMetadataChanged() { Bundle metadata = rewardedAd.getAdMetadata(); String adId = metadata.getString("AdId"); } }); } });
Kotlin
RewardedAd.load(this, "/21775744923/example/rewarded", AdManagerAdRequest.Builder().build(), object : RewardedAdLoadCallback() { override fun onAdLoaded(rewardedAd: RewardedAd) { mRewardedAd = rewardedAd rewardedAd.onAdMetadataChangedListener = OnAdMetadataChangedListener { val metadata = rewardedAd.adMetadata val adId = metadata.getString("AdId") } } })
检索元数据后,您可以检查 Bundle 中是否包含您关注的键。不同类型的广告可能具有不同的广告元数据键。VAST 视频广告具有以下键:
Key |
类型 | 说明 |
---|---|---|
AdId |
字符串 | 广告的 ID,如果没有,则为空。 |
AdTitle |
字符串 | 标题,如果未指定,则为空。 |
CreativeDurationMs |
整数 | 所选广告素材的时长(以毫秒为单位),如果是非线性广告素材,则为 -1。 |
TraffickingParameters |
字符串 | 流量参数,如果不提供,则为空。 |
DealId |
字符串 | 当前广告封装容器链中存在的第一个交易 ID(从顶部开始,如果不存在,则为空)。 |
AdSystem |
字符串 | 广告的来源广告服务器,如果不可用,则为空。 |
CreativeId |
字符串 | 广告所选广告素材的 ID,如果没有,则为空。 |
MediaURL |
字符串 | 所选媒体的网址。 |
Wrappers |
数组 |
该数组会填充元素,从最内层的封装容器广告(靠近内嵌广告)开始,向外移动到最外层的封装容器广告。数组中的每个元素都是一个字典,其中包含以下键和值。
|