广告元数据

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

前提条件

  • Google 移动广告 SDK 的最低版本为 17.0.0。
  • 完成 激励视频中的步骤。

提取广告元数据

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

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 数组 该数组填充的元素从最内层的封装容器广告 (靠近内嵌广告)开始,向外移动到最外层的封装容器广告。数组中的每个 元素都是一个字典,其中包含以下键和 值。
AdId
字符串。用于封装容器广告的广告 ID,如果不可用,则为空。
AdSystem
字符串。用于封装容器广告的广告系统,如果不可用,则为空。
CreativeId
字符串。用于封装容器广告的广告素材 ID,如果不可用,则为空。