广告元数据

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