将 AdColony 与中介集成

本指南适用于希望使用 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 设置新应用

填写表单,然后点击页面底部的创建,将应用添加到 AdColony。

AdColony 创建应用

创建应用后,您可以转到应用的基本应用信息部分下方的获利,以获取应用 ID

AdColony 应用 ID

接下来,点击“应用”页面广告区域部分中的设置新广告区域按钮,创建一个新的广告区域。即使您已有,仍建议您为 AdMob 创建新的中介区域。

AdColony 设置区域

有关创建广告展示位置的更多说明,请选择与您的首选广告格式对应的标签页。

  1. 区域是否处于活动状态?设置为
  2. 输入广告区域的名称

  3. 选择 Banner 作为 Ad Zone Size

  4. 输入“每日播放上限”的值。

插页式广告

  1. 区域是否处于活动状态?设置为
  2. 输入广告区域的名称

  3. 选择前贴片广告/插页式广告作为区域类型

  4. 输入“每日播放上限”的值。

激励广告

  1. 区域是否处于活动状态?设置为
  2. 输入广告区域的名称

  3. 选择 Value Exchange/V4VC 作为 Zone Type

  4. 仅客户端?设置为,然后输入虚拟货币名称每位用户的视频数量上限奖励金额

  5. 输入“每日播放上限”的值。

完成后,点击创建按钮以创建区域。

创建广告区域后,您可以在该广告区域的集成部分下找到区域 ID区域 ID 将在下一步中使用。

AdColony 区域 ID

[仅限广告瀑布流] 找到您的 AdColony API 密钥

您需要使用 AdColony API 密钥来设置AdMob 广告单元 ID。转到 AdColony 发布商信息中心内的帐号设置,找到您的 API 密钥。

AdColony 设置

第 2 步:为广告单元 AdMob 配置中介设置

您需要将 AdColony 添加到广告单元的中介配置中。首先,登录您的 AdMob 帐号

接下来,转到中介标签页。如果您已有要修改的中介组,请点击该中介组的名称进行修改,然后直接将 AdColony 添加为广告来源

要创建新的中介组,请选择创建中介组

AdMob Beta 中介标签页

输入广告格式和平台,然后点击继续

为中介组命名,然后选择要定位到的地理位置。 然后,将中介组状态设置为已启用。然后点击添加广告单元,此时会打开广告单元选择叠加层。

新建中介组 2

将此中介组与现有 AdMob 广告单元相关联。 然后,点击完成

选择广告单元

现在,您应该会看到“广告单元”卡片中填充了您选择的广告单元。

中介组广告单元

将 AdColony 添加为广告来源

出价

广告来源部分的出价卡片下,选择添加广告来源。然后选择 AdColony

接下来,输入在上一部分中获得的应用 ID区域 ID。 然后点击完成AdColony 配置广告单元

最后,点击保存

瀑布

广告来源部分的广告瀑布流卡片下,选择添加广告来源。然后选择 AdColony

启用优化开关。输入在上一部分中获取的 API 密钥,以便为 AdColony 设置 ANO。然后输入 AdColony 的有效每千次展示费用值,并点击继续

接下来,输入在上一部分中获得的应用 ID区域 ID。 然后,点击完成

配置 AdColony 广告单元

最后,点击保存

使用激励广告

在激励广告单元的设置中,提供奖励金额和奖励类型的值。然后,为确保无论投放哪个广告联盟,您都能向用户提供相同的奖励,请选中 应用于中介组中的所有广告联盟复选框。

如果您不应用此设置,AdColony 适配器会传回 AdColony 信息中心中指定的奖励。

如需详细了解如何为 AdMob 广告单元设置奖励值,请参阅创建广告单元

第 3 步:导入 AdColony SDK 和适配器

  • 将以下行添加到项目的 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 信息中心并依次转到获利 > 应用。在应用的广告区域部分下,选择要为哪个区域启用测试广告。通过在开发部分下选中仅显示测试广告?,即可启用测试广告。

AdColony 测试

可选步骤

根据 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。

早期版本