本指南适用于要将广告元数据与 Google 移动广告 iOS SDK 集成的发布商。
前提条件
提取广告元数据
如需让应用详细了解投放的广告,请将广告设置为其自己的 GADAdMetadataDelegate
。然后,您可以通过在 GADAdMetadataDelegate
上实现 adMetadataDidChange:
方法来监听广告元数据的变化。调用此代理后,请检查广告的 adMetadata
属性。
系统会在广告加载之后或广告元数据在加载后异步更改时调用 adMetadataDidChange:
。我们无法保证广告元数据在加载时就可用,因此建议您先等待此回调,然后再访问广告的元数据。
以下示例代码展示了如何检索激励广告的广告元数据:
@interface ViewController () <GADFullScreenContentDelegate, GADAdMetadataDelegate>
@end
@implementation ViewController
- (void)loadRewardedAd {
*request = [ request];
[GADRewardedAd
loadWithAdUnitID:@"ca-app-pub-3940256099942544/4806952744"
request:request
completionHandler:^(GADRewardedAd *ad, NSError *error) {
if (error) {
NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
return;
}
self.rewardedAd = ad;
self.rewardedAd.fullScreenContentDelegate = self;
/// Set the ad to be the delegate of its ad metadata.
self.rewardedAd.adMetadataDelegate = self;
NSLog(@"Rewarded ad loaded.");
}];
}
/#pragma mark GADAdMetadataDelegate implementation
- (void)adMetadataDidChange:(id<GADAdMetadataProvider>)ad {
NSDictionary<NSString*, id> *adMetadata = _rewardedAd.adMetadata;
NSString *adId = adMetadata[@"AdId"];
}
检索元数据后,您可以查看所关注密钥的 Bundle。不同类型的广告可能具有不同的广告元数据键。VAST 视频广告具有以下键:
键 | 类型 | 说明 |
---|---|---|
AdId |
字符串 | 广告的 ID,如果不可用,则返回空字符串。 |
AdTitle |
字符串 | 标题,如果未指定,则为空。 |
CreativeDurationMs |
整数 | 所选广告素材的持续时间(以毫秒为单位),如果是非线性广告素材,则为 -1 。 |
TraffickingParameters |
字符串 | 广告投放管理参数,如果不可用,则返回空字符串。 |
DealId |
字符串 | 出现在当前广告的封装容器链中的第一个交易 ID(从顶部开始),如果没有此信息,则为空字符串。 |
AdSystem |
字符串 | 广告的源广告服务器,如果未提供,则为空。 |
CreativeId |
字符串 | 广告的选定广告素材的 ID,如果没有,则为空。 |
MediaURL |
字符串 | 所选媒体的网址。 |
Wrappers |
数组 |
该数组会填充从最内层的封装容器广告(靠近内嵌广告)开始,再向外移动至最外层的封装容器广告的元素。数组中的每个元素都是包含以下键和值的字典。
|