为 Ad Exchange 设置直接访问权限

请选择平台Android iOS

Google 移动广告 SDK 支持通过 Ad Exchange 资源创收。本指南介绍了如何针对 Ad Exchange 支持的所有广告格式配置应用。

前提条件

配置应用以访问 Ad Exchange

更新应用的 Info.plist 文件,将 GADApplicationIdentifier 键设置为字符串值,即您的 Ad Manager 应用 ID(可在 Ad Manager 界面中找到)。

另请注意,如果未能如上所示在 info.plist 文件中设置 GADApplicationIdentifier 键,会导致崩溃,并显示以下消息:

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://goo.gle/admob-ios-update-plist to set a valid
application ID. Google Ad Manager publishers, follow instructions at
https://goo.gle/ad-manager-ios-update-plist.'

接下来,您可以选择要展示的广告格式。本指南的其余部分将实现横幅广告格式,以说明如何从 Ad Exchange 加载广告。这些步骤同样适用于 Google 移动广告 SDK 支持的任何广告格式。

从 Ad Exchange 加载广告

您可以使用带有尾部正斜线的 Ad Exchange 网站媒体资源代码来代替广告单元 ID。例如 ca-mb-app-pub-5629679302779023/

为了加载和展示横幅广告,GAMBannerView 需要 adUnitID。您可以将此属性设置为 Ad Exchange 网站媒体资源 ID,如下所示:

override func viewDidLoad() {
  super.viewDidLoad()
  ...

  bannerView.adUnitID = "ca-mb-app-pub-5629679302779023/"
  bannerView.rootViewController = self
}

GAMBannerView 创建完毕并配置其属性后,您就可以加载广告,并使用广告事件自定义广告的行为。

请注意,如果未能向 Ad Exchange 网站资源代码添加尾随正斜杠,会导致广告请求错误,并显示以下消息:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

您还可以将 Ad Exchange 网站媒体资源代码转换为广告单元。 然后,使用 Ad Manager 界面生成 Ad Exchange 代码,并将其复制到您的应用中。生成的代码应包含 Ad Exchange Web 资源代码,后跟子级广告单元 ID(不含尾部正斜杠),例如:ca-mb-app-pub-5629679302779023/banner

大功告成!您的应用现已准备好加载和展示 Ad Exchange 横幅广告了。

此外,您还可以按照以下相应指南,使用 Ad Exchange 网站媒体资源加载和展示 Ad Exchange 中的其他广告格式:

(仅限已获批准的欧洲发布商)添加底价

您可以申请使用“底价”功能

获得批准后,您可以使用 pubfpvtf 参数在广告请求中分别添加公开底价和私密底价。在以下代码示例中,将“123”替换为以微为单位的底价和您广告资源的默认币种。微的运用示例:如果您的默认币种是美元,那么输入“6000000”相当于 6.00 美元。

Swift

let extras = AdNetworkExtras()
extras.additionalParameters = ["pubf": "123", "pvtf": "123"]

let request = AdManagerRequest
request.register(extras)

Objective-C

GADAdNetworkExtras *extras = [[GADAdNetworkExtras alloc] init];
extras.additionalParameters = @{@"pubf": @"123", @"pvtf": @"123"};

GAMRequest *request = [GAMRequest request];
[request registerAdNetworkExtras:extras];