本指南适用于要将广告元数据与 Android 版 Google 移动广告 SDK 集成的发布商。
前提条件
- 至少安装 17.0.0 版 Google 移动广告 SDK。
- 完成激励视频广告中的步骤。
提取广告元数据
某些应用可能想要详细了解已投放的广告。您可以通过实现 AdMetadataListener
调用 RewardedVideoAd.setAdMetadataListener()
来监听激励视频广告中广告元数据的变化。调用 AdMetadataListener.onAdMetadataChanged()
后,您可以检查 RewardedVideo.getAdMetadata()
获取广告的元数据。
系统会在广告加载之后或广告加载后其元数据异步更改时调用 onAdMetadataChanged()
。这不能保证加载广告时广告的元数据就可用,因此我们建议等到出现此回调后再访问广告的元数据。
以下代码示例展示了如何检索广告元数据:
Java
RewardedAd.load(this, "/6499/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, "/6499/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 |
数组 |
该数组会填充从最内层的封装容器广告(靠近内嵌广告)开始,再向外移动至最外层的封装容器广告的元素。数组中的每个元素都是包含以下键和值的字典。
|