本指南适用于希望使用 Google 移动广告 SDK 通过出价和广告瀑布流中介从 AdColony 加载和展示广告的发布商。其中介绍了如何将 AdColony 广告添加到广告单元的中介配置,以及如何将 AdColony SDK 和适配器集成到 iOS 应用中。
支持的集成和广告格式
AdMob 适用于 AdColony 的中介适配器具有以下功能:
集成 | |
---|---|
出价 | |
瀑布 | |
格式 | |
横幅 | |
插页式广告 | |
激励广告 | |
原生 |
要求
- iOS 部署目标为 10.0 或更高版本
- [对于出价]:AdColony 适配器 3.3.7.1 或更高版本(建议使用最新版本)
- 最新版 Google 移动广告 SDK
第 1 步:设置 AdColony
注册并登录您的 AdColony 帐号。点击 Setup New App 按钮,将您的应用添加到 AdColony 发布商信息中心。
填写表单,然后点击页面底部的创建,将应用添加到 AdColony。
创建应用后,您可以转到应用的基本应用信息部分下方的获利,以获取应用 ID。
接下来,点击“应用”页面广告区域部分中的设置新广告区域按钮,创建一个新的广告区域。即使您已有,仍建议您为 AdMob 创建新的中介区域。
有关创建广告展示位置的更多说明,请选择与您的首选广告格式对应的标签页。
横幅
- 将区域是否处于活动状态?设置为是。
输入广告区域的名称。
选择 Banner 作为 Ad Zone Size。
输入“每日播放上限”的值。
插页式广告
- 将区域是否处于活动状态?设置为是。
输入广告区域的名称。
选择前贴片广告/插页式广告作为区域类型。
输入“每日播放上限”的值。
激励广告
- 将区域是否处于活动状态?设置为是。
输入广告区域的名称。
选择 Value Exchange/V4VC 作为 Zone Type。
将仅客户端?设置为是,然后输入虚拟货币名称、每位用户的视频数量上限和奖励金额。
输入“每日播放上限”的值。
完成后,点击创建按钮以创建区域。
创建广告区域后,您可以在该广告区域的集成部分下找到区域 ID。区域 ID 将在下一步中使用。
[仅限广告瀑布流] 找到您的 AdColony API 密钥
您需要使用 AdColony API 密钥来设置AdMob 广告单元 ID。转到 AdColony 发布商信息中心内的帐号设置,找到您的 API 密钥。
第 2 步:为广告单元 AdMob 配置中介设置
您需要将 AdColony 添加到广告单元的中介配置中。首先,登录您的 AdMob 帐号。
接下来,转到中介标签页。如果您已有要修改的中介组,请点击该中介组的名称进行修改,然后直接将 AdColony 添加为广告来源。
要创建新的中介组,请选择创建中介组。
输入广告格式和平台,然后点击继续。
为中介组命名,然后选择要定位到的地理位置。 然后,将中介组状态设置为已启用。然后点击添加广告单元,此时会打开广告单元选择叠加层。
将此中介组与现有 AdMob 广告单元相关联。 然后,点击完成。
现在,您应该会看到“广告单元”卡片中填充了您选择的广告单元。
将 AdColony 添加为广告来源
出价
在广告来源部分的出价卡片下,选择添加广告来源。然后选择 AdColony。
接下来,输入在上一部分中获得的应用 ID 和区域 ID。
然后点击完成。
最后,点击保存。
瀑布
在广告来源部分的广告瀑布流卡片下,选择添加广告来源。然后选择 AdColony。
启用优化开关。输入在上一部分中获取的 API 密钥,以便为 AdColony 设置 ANO。然后输入 AdColony 的有效每千次展示费用值,并点击继续。
接下来,输入在上一部分中获得的应用 ID 和区域 ID。 然后,点击完成。
最后,点击保存。
使用激励广告
在激励广告单元的设置中,提供奖励金额和奖励类型的值。然后,为确保无论投放哪个广告联盟,您都能向用户提供相同的奖励,请选中 应用于中介组中的所有广告联盟复选框。
如果您不应用此设置,AdColony 适配器会传回 AdColony 信息中心中指定的奖励。
如需详细了解如何为 AdMob 广告单元设置奖励值,请参阅创建广告单元。第 3 步:导入 AdColony SDK 和适配器
使用 CocoaPods(推荐)
将以下行添加到项目的 Podfile 中:
pod 'GoogleMobileAdsMediationAdColony'
从命令行中运行以下命令:
pod install --repo-update
手动集成
下载最新版 AdColony SDK,并在项目中关联
AdColony.framework
。从 Changelog 的下载链接下载最新的 AdColony 适配器,并在项目中关联
AdColonyAdapter.framework
。将以下库和框架添加到 Target > Build Phases > Link Binary With Libraries 中:
libz.1.2.5.tbd
AdSupport
AudioToolbox
AVFoundation
CoreMedia
CoreTelephony
JavaScriptCore
MessageUI
MobileCoreServices
SystemConfiguration
EventKit (OPTIONAL)
Social (OPTIONAL)
StoreKit (OPTIONAL)
WatchConnectivity (OPTIONAL)
WebKit (OPTIONAL)
第 4 步:需要其他代码
AdColony 集成无需其他代码。
第 5 步:测试您的实现效果
如需在 AdColony 上启用测试广告,请转到您的 AdColony 信息中心并依次转到获利 > 应用。在应用的广告区域部分下,选择要为哪个区域启用测试广告。通过在开发部分下选中是以仅显示测试广告?,即可启用测试广告。
可选步骤
欧盟地区用户意见征求和 GDPR
根据 Google《欧盟地区用户意见征求政策》,您必须确保向欧洲经济区 (EEA) 内的用户披露与使用设备标识符和个人数据有关的信息,以及征得这些用户的同意。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。在征求用户意见时,您必须指明中介链中可能会收集、接收或使用个人数据的广告联盟,并提供各个广告联盟的使用情况信息。Google 目前无法自动将用户的意见传递给此类网络。
以下部分介绍了如何为 AdColony 启用或停用个性化广告。
AdColony 适配器公开了 appOptions
属性,该属性会在初始化 AdColony SDK 时使用。以下示例代码展示了如何为类型为 ADC_GDPR
的 AdColony' 隐私框架设置参数。如果您选择调用这些方法,我们建议您在通过 Google 移动广告 SDK 请求广告之前执行此操作。
#import <AdColonyAdapter/AdColonyAdapter.h>
//...
AdColonyAppOptions *options = GADMediationAdapterAdColony.appOptions;
[options setPrivacyFrameworkOfType:ADC_GDPR isRequired:YES];
[options setPrivacyConsentString:@"1" forType:ADC_GDPR];
如需详细了解这些方法中可能提供哪些值,请参阅 AdColony 的 GDPR 实现详情。
使用插页式广告和激励广告
AdColony 适配器支持其他请求参数,这些参数可以使用 GADMAdapterAdColonyExtras
类传递给适配器。GADMAdapterAdColonyExtras
包含以下属性:
showPrePopup
- 启用奖励对话框,然后在您的应用中针对特定广告请求展示广告。showPostPopup
- 为应用中的特定广告请求展示广告后启用奖励对话框。
以下是关于如何在广告请求中设置这些参数的代码示例:
Swift
let request = GADRequest() let extras = GADMAdapterAdColonyExtras() extras.showPrePopup = true extras.showPostPopup = true request.registerAdNetworkExtras(extras)
Objective-C
GADRequest *request = [GADRequest request]; GADMAdapterAdColonyExtras *extras = [[GADMAdapterAdColonyExtras alloc] init]; extras.showPrePopup = YES; extras.showPostPopup = YES; [request registerAdNetworkExtras:extras];
验证适配器和 SDK 版本
如需记录适配器和 SDK 版本,请使用以下代码段:
Class<GADMediationAdapter> adapterClass = NSClassFromString(@"GADMediationAdapterAdColony");
if (adapterClass != nil) {
GADVersionNumber adapterVersion = [adapterClass version];
GADVersionNumber sdkVersion = [adapterClass adSDKVersion];
// Log the adapter patch version to 3 digits to represent the x.x.x.x versioning
// used by adapters.
NSLog(@"Adapter version: %zd.%zd.%03zd",
adapterVersion.majorVersion,
adapterVersion.minorVersion,
adapterVersion.patchVersion);
NSLog(@"SDK version: %zd.%zd.%zd",
sdkVersion.majorVersion,
sdkVersion.minorVersion,
sdkVersion.patchVersion);
}
由于 Swift 中不存在动态运行时功能,因此无法在 Swift 中记录适配器版本,因此无法根据该类名称动态创建此类。如果需要在 Swift 中执行此操作,则需要使用 Objective-C 编写,并使用桥接标头导入。
错误代码
如果适配器未能从 AdColony 收到广告,则发布商可以使用以下类中的
GADResponseInfo.adNetworkInfoArray
,位于以下类下:
GADMAdapterAdColony
GADMediationAdapterAdColony
当广告加载失败时,AdColony 适配器抛出的代码和附带的消息如下:
错误代码 | 原因 |
---|---|
100 | AdColony SDK 返回了错误。 |
101 | 服务器参数无效(例如缺少区域 ID)。 |
102 | 已针对同一区域 ID 请求了广告。 |
103 | AdColony SDK 返回了初始化错误。 |
104 | 请求的横幅广告尺寸未映射到有效的 AdColony 广告尺寸。 |
105 | 因未加载广告而导致呈现错误。 |
106 | 用于初始化 AdColony SDK 的上下文不是 Activity 实例。 |
0 - 3 次 | AdColony SDK 返回了错误。如需了解详情,请参阅这份文档。 |
101 | 服务器参数无效(例如缺少区域 ID)。 |
102 | 用于展示广告的根视图控制器是 nil 。 |
103 | AdColony SDK 返回了初始化错误。 |
104 | AdColony SDK 不支持在 5 秒内进行两次配置。 |
105 | 未能展示广告。 |
106 | 用于奖励的可用区不是 AdColony 门户网站上的奖励可用区。 |
AdColony iOS 中介适配器更新日志
版本 4.8.0.0
- 验证了与 AdColony SDK 4.8.0 的兼容性。
构建和测试时所用的工具
- Google 移动广告 SDK 9.1.0 版。
- AdColony SDK 版本 4.8.0。
版本 4.7.2.2
- 添加了对 arm64 模拟器架构的支持。
构建和测试时所用的工具
- Google 移动广告 SDK 9.0.0 版。
- AdColony SDK 4.7.2 版。
版本 4.7.2.1
- 经验证与 Google 移动广告 SDK 9.0.0 版本兼容。
- 现在需要使用 Google 移动广告 SDK 9.0.0 或更高版本。
- 现在要求的最低操作系统版本为 10.0。
构建和测试时所用的工具
- Google 移动广告 SDK 9.0.0 版。
- AdColony SDK 4.7.2 版。
版本 4.7.2.0
- 验证了与 AdColony SDK 4.7.2 的兼容性。
构建和测试时所用的工具
- Google 移动广告 SDK 版本 8.10.0。
- AdColony SDK 4.7.2 版。
版本 4.7.1.0
- 验证了与 AdColony SDK 4.7.1 的兼容性。
构建和测试时所用的工具
- Google 移动广告 SDK 版本 8.9.0。
- AdColony SDK 版本 4.7.1。
版本 4.7.0.0
- 验证了与 AdColony SDK 4.7.0 的兼容性。
- 已放宽对 Google 移动广告 SDK 8.0.0 或更高版本的依赖。
构建和测试时所用的工具
- Google 移动广告 SDK 版本 8.8.0。
- AdColony SDK 版本 4.7.0。
版本 4.6.1.0
- 验证了与 AdColony SDK 4.6.1 的兼容性。
- 现在需要使用 Google 移动广告 SDK 8.4.0 或更高版本。
构建和测试时所用的工具
- Google 移动广告 SDK 版本 8.4.0。
- AdColony SDK 版本 4.6.1。
版本 4.6.0.0
- 更新了适配器以使用
.xcframework
格式。 - 为横幅广告添加了出价功能。
- 验证了与 AdColony SDK 4.6.0 的兼容性。
- 现在需要使用 Google 移动广告 SDK 8.3.0 或更高版本。
构建和测试时所用的工具
- Google 移动广告 SDK 8.3.0 版。
- AdColony SDK 4.6.0 版。
版本 4.5.0.0
- 验证了与 AdColony SDK 4.5.0 的兼容性。
- 现在需要使用 Google 移动广告 SDK 7.69.0 或更高版本。
构建和测试时所用的工具
- Google 移动广告 SDK 7.69.0 版。
- AdColony SDK 版本 4.5.0。
版本 4.4.1.0
- 验证了与 AdColony SDK 4.4.1 的兼容性。
- 现在需要使用 Google 移动广告 SDK 7.66.0 或更高版本。
构建和测试时所用的工具
- Google 移动广告 SDK 7.66.0 版。
- AdColony SDK 4.4.1 版。
版本 4.4.0.0
- 验证了与 AdColony SDK 4.4.0 的兼容性。
- 现在需要使用 Google 移动广告 SDK 7.65.0 或更高版本。
构建和测试时所用的工具
- Google 移动广告 SDK 7.65.0 版。
- AdColony SDK 4.4.0 版。
版本 4.3.1.0
- 验证了与 AdColony SDK 4.3.1 的兼容性。
构建和测试时所用的工具
- Google 移动广告 SDK 7.64.0 版。
- AdColony SDK 版本 4.3.1。
版本 4.3.0.0
- 验证了与 AdColony SDK 4.3.0 的兼容性。
- 现在需要使用 Google 移动广告 SDK 7.64.0 或更高版本。
构建和测试时所用的工具
- Google 移动广告 SDK 7.64.0 版。
- AdColony SDK 版本 4.3.0。
版本 4.1.5.0
- 验证了与 AdColony SDK 4.1.5 的兼容性。
- 将所需的最低 Google 移动广告 SDK 版本更新为 7.60.0。
构建和测试时所用的工具
- Google 移动广告 SDK 7.60.0 版。
- AdColony SDK 版本 4.1.5。
4.1.4.1 版
- 添加了标准化的适配器错误代码和消息。
- 取消了对 i386 架构的支持。
构建和测试时所用的工具
- Google 移动广告 SDK 7.57.0 版。
- AdColony SDK 版本 4.1.4。
4.1.4.0 版
- 验证了与 AdColony SDK 4.1.4 的兼容性。
构建和测试时所用的工具
- Google 移动广告 SDK 7.56.0 版。
- AdColony SDK 版本 4.1.4。
4.1.3.1 版
- 修复了 AdColony 中介广告联盟适配器版本字符串。
构建和测试时所用的工具
- Google 移动广告 SDK 7.55.0 版。
- AdColony SDK 版本 4.1.3。
版本 4.1.3.0(已弃用)
- 已知问题:将中介适配器版本错误地报告为 4.1.2.0。 请使用 4.1.3.1 或更高版本。
- 验证了与 AdColony SDK 4.1.3 的兼容性。
- 添加代码,以便在 AdColony 广告到期时针对 OB 请求重新请求广告。
构建和测试时所用的工具
- Google 移动广告 SDK 7.55.0 版。
- AdColony SDK 版本 4.1.3。
4.1.2.0 版
- 验证了与 AdColony SDK 4.1.2 的兼容性。
- 新增了对横幅广告的支持。
构建和测试时所用的工具
- Google 移动广告 SDK 7.52.0 版。
- AdColony SDK 4.1.2 版。
4.1.1.0 版
- 验证了与 AdColony SDK 4.1.1 的兼容性。
- 新增了对横幅广告的支持。
构建和测试时所用的工具
- Google 移动广告 SDK 7.52.0 版。
- AdColony SDK 版本 4.1.1。
版本 3.3.8.1.0
- 将 AdColony 适配器更新到版本 3.3.8.1。
- 对代码执行 lint 请求以遵循 Objective-C 代码样式,并防止潜在的崩溃。
构建和测试时所用的工具
- Google 移动广告 SDK 7.51.0 版
- AdColony SDK 版本 3.3.8.1
版本 3.3.7.3
- 新增了在初始化 AdColony SDK 之前对凭据进行的检查。
版本 3.3.7.2
- 修复了
GADMediationAdapterAdColony
头文件未公开的问题。
版本 3.3.7.1
- 为插页式广告和激励广告的适配器添加了出价功能。
版本 3.3.7.0
- 验证了与 AdColony SDK 3.3.7 的兼容性。
- 修复了无法提取激励广告时出现的崩溃问题。
版本 3.3.6.1
- 更新了适配器,以使用新的激励广告 API。
- 现在需要使用 Google 移动广告 SDK 7.41.0 或更高版本。
版本 3.3.6.0
- 验证了与 AdColony SDK 3.3.6 的兼容性。
版本 3.3.5.0
- 验证了与 AdColony SDK 3.3.5 的兼容性。
- 向适配器添加了
adapterDidCompletePlayingRewardBasedVideoAd:
回调。
版本 3.3.4.0
- 验证了与 AdColony SDK 3.3.4 的兼容性。
版本 3.3.0.0
- 验证了与 AdColony SDK 3.3.0 的兼容性。
版本 3.2.1.1
- 将
testMode
添加到了 extra 中。发布商可以使用此属性将 AdColony 请求标记为测试请求。
版本 3.2.1.0
- 验证了与 AdColony SDK 3.2.1 的兼容性。
版本 3.2.0.0
- 验证了与 AdColony SDK 3.2.0 的兼容性。
版本 3.1.1.1
- 取消了对
armv7s
架构的支持。 - 修复了导致适配器在与最新版本的 AdColony SDK 一起使用时错误地调用激励回调的问题。
版本 3.1.1.0
- 验证了与 AdColony SDK 3.1.1 的兼容性。
版本 3.1.0.0
- 验证了与 AdColony SDK 3.1.0 的兼容性。
版本 3.0.6.0
- 将版本命名系统更改为了 [AdColony SDK 版本 [适配器补丁程序版本]]。
- 将必需的 AdColony SDK 更新到了 v3.0.6。