广告元数据

本指南面向希望使用 Google 移动广告 SDK for Android 集成广告元数据的发布商。

前提条件

  • 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,如果不可用,则为空。