Google 移动广告 SDK 支持通过 Ad Exchange 属性。本指南介绍了 如何针对 Ad Exchange 支持的所有广告格式配置您的应用。
前提条件
配置您的应用以访问 Ad Exchange
更新应用的 Info.plist 文件,将 GADApplicationIdentifier
键的字符串值设置为您的 Ad Manager 应用 ID(可在 Ad Manager 界面中找到)。
另请注意,未能在GADApplicationIdentifier
如上所示的 info.plist 文件会导致崩溃,并显示以下消息:
Terminating app due to uncaught exception 'GADInvalidInitializationException',
reason: 'The Google Mobile Ads SDK was initialized without an application ID.
Google AdMob publishers, follow instructions at
https://googlemobileadssdk.page.link/admob-ios-update-plist to set a valid
application ID. Google Ad Manager publishers, follow instructions at
https://googlemobileadssdk.page.link/ad-manager-ios-update-plist.'
接下来,您可以选择 格式更改为 。本指南的其余部分将使用横幅广告 格式来说明 即可从 Ad Exchange 加载广告同样的步骤适用于 Google 移动广告 SDK 支持的任何广告格式。
从 Ad Exchange 中加载广告
您可以在应用中使用带有尾部正斜线的 Ad Exchange 网站媒体资源代码,以替代广告单元 ID。
为了加载和展示横幅广告,GAMBannerView
需要 adUnitID
。
您可以将此属性设置为 Ad Exchange 网络媒体资源 ID,如下所示:
override func viewDidLoad() {
super.viewDidLoad()
...
bannerView.adUnitID = "ca-mb-app-pub-5629679302779023/"
bannerView.rootViewController = self
}
请注意,如果没有向 Ad Exchange 网站 属性代码会导致广告请求错误,并显示以下消息:
Invalid Request. Cannot determine request type. Is your ad unit id correct?
另请注意,您可以将 Ad Exchange 网络媒体资源代码转换为广告单元。
然后,您可以使用 Ad Manager 界面生成 Ad Exchange 报告
标记并将其复制到您的
应用。生成的代码应包含 Ad Exchange 网络媒体资源代码,后跟
不带尾随正斜杠的后代广告单元 ID,例如:
ca-mb-app-pub-5629679302779023/banner
GAMBannerView
就位并配置好其属性后,您就可以
加载广告并自定义
使用广告行为的广告
事件。
大功告成!现在,您的应用就可以从 Ad Exchange 加载并展示横幅广告了。
此外,您还可以使用 Ad Exchange 网络媒体资源来加载和显示 Ad Exchange 中的广告格式,请遵循相应指南:
(仅限已获批准的欧洲发布商)添加底价
您可以提交“底价”请求 功能。
获得批准后,您可以在广告请求中添加公开底价或不公开底价
分别使用 pubf
和 pvtf
参数。在以下代码中
例如,将“123”以微单位表示底价以及您广告联盟的
默认币种。示例:
采用微单位:如果您的默认货币是美元,请输入“6000000”是
等值 6.00 美元
Swift
let extras = GADAdNetworkExtras()
extras.additionalParameters = ["pubf": "123", "pvtf": "123"]
let request = GAMRequest()
request.register(extras)
Objective-C
GADAdNetworkExtras *extras = [[GADAdNetworkExtras alloc] init];
extras.additionalParameters = @{@"pubf": @"123", @"pvtf": @"123"};
GAMRequest *request = [GAMRequest request];
[request registerAdNetworkExtras:extras];