广告元数据

本指南适用于将广告元数据与 Android 版 Google 移动广告 SDK 集成的发布商。

前提条件

  • Google 移动广告 SDK 17.0.0 或更高版本。
  • 完成激励视频中的步骤。

正在提取广告元数据

如需详细了解投放的广告,请监听激励视频广告的广告元数据更改。

onAdMetadataChanged() 会在广告加载后或其元数据在加载后异步更改时立即调用。我们无法保证在广告加载时其元数据可用,因此建议您等到此回调发生后再访问广告的元数据。

以下代码示例展示了如何检索广告元数据:

Kotlin

RewardedAd.load(
AdRequest.Builder("AD_UNIT_ID").build(),
object : AdLoadCallback<RewardedAd> {
  override fun onAdLoaded(ad: RewardedAd) {
    ...
    ad.adEventCallback = object : RewardedAdEventCallback {
      override fun onAdMetadataChanged() {
        val metadata = ad.adMetadata
        val adId = metadata.getString("AdId")
      }
    }
  }
})

Java

RewardedAd.load(
  new AdRequest.Builder("AD_UNIT_ID").build(),
  new AdLoadCallback<RewardedAd>() {
    @Override
    public void onAdLoaded(@NonNull RewardedAd rewardedAd) {
      Rewarded.this.rewardedAd = rewardedAd;
        ...
        rewardedAd.setAdEventCallback(new RewardedAdEventCallback() {
            @Override
            public void onAdMetadataChanged() {
                Bundle metadata = rewardedAd.getAdMetadata();
                String adId = metadata.getString("AdId");
            }
        });
      };
    };
  );

替换 AD_UNIT_ID 广告单元。例如,对于激励广告,使用 /21775744923/example/rewarded。

检索元数据后,您可以检查 Bundle 中是否有您关注的键。不同类型的广告可能具有不同的广告元数据键。VAST 视频广告具有以下键:

Key 类型 说明
AdId 字符串 广告的 ID,如果不可用,则为空。
AdTitle 字符串 标题,如果未指定,则为空。
CreativeDurationMs 整数 所选广告素材的时长(以毫秒为单位),如果是非线性广告素材,则为 -1。
TraffickingParameters 字符串 广告投放管理参数,如果不可用,则为空。
DealId 字符串 当前广告的封装容器链中存在的第一个交易 ID(从顶部开始),如果不可用,则为空。
AdSystem 字符串 广告的来源广告服务器,如果不可用,则为空。
CreativeId 字符串 为广告选择的广告素材的 ID,如果不可用,则为空。
MediaURL 字符串 所选媒体文件的网址。
Wrappers 数组 该数组中填充了从最内层封装容器广告(靠近内嵌广告)开始向外移动到最外层封装容器广告的元素。数组中的每个元素都是一个字典,其中包含以下键和值。
AdId
字符串。用于封装容器广告的广告 ID,如果不可用,则为空。
AdSystem
字符串。用于封装容器广告的广告系统,如果不可用,则留空。
CreativeId
字符串。用于封装容器广告的广告素材 ID,如果不可用,则为空。