AdColony를 미디에이션과 통합

本指南介绍了如何使用 Google 移动广告 SDK 通过中介从 AdColony 加载和展示广告,其中包括出价和广告瀑布流集成。它介绍了如何将 AdColony 添加到广告单元的中介配置中,以及如何将 AdColony SDK 和适配器集成到应用中。 iOS

支持的集成和广告格式

AdMob AdColony 中介适配器具有以下功能:

集成
出价
瀑布
表现形式
横幅
插页式广告
已奖励
原生

要求

  • iOS 部署目标为 12.0 或更高版本
  • [用于出价]:AdColony 适配器 3.3.7.1 或更高版本(推荐使用最新版本
  • 最新版 Google 移动广告 SDK

  • 完成中介 入门指南

第 1 步:在 AdColony 界面中设置配置

Sign up and log in to your AdColony account. Add your app to the AdColony publisher dashboard by clicking the Setup New App button.

AdColony setup new app

Fill out the form and click Create at the bottom of the page to add your app to AdColony.

AdColony create app

Once your app is created you can obtain your App ID by navigating to Monetization > Apps under your app's Basic App Information section.

AdColony app id

Next, create a new Ad Zone by clicking the Setup New Ad Zone button in the Ad Zones section of your App's page. We recommend creating a new Ad Zone for mediation with AdMob even if you already have one.

AdColony set up zone

For additional instructions on creating an ad placement, select the tab corresponding to your preferred ad format.

  1. Set Zone is Active? to Yes.
  2. Enter a Name for your Ad Zone.

  3. Choose Banner as the Ad Zone Size.

  4. Enter a value for the Daily play cap.

Interstitial

  1. Set Zone is Active? to Yes.
  2. Enter a Name for your Ad Zone.

  3. Choose Preroll/Interstitial as the Zone Type.

  4. Enter a value for the Daily play cap.

Rewarded

  1. Set Zone is Active? to Yes.
  2. Enter a Name for your Ad Zone.

  3. Choose Value Exchange/V4VC as the Zone Type.

  4. Set Client Side Only? to Yes and enter a Virtual Currency Name, Daily Max Videos per User and Reward Amount.

  5. Enter a value for the Daily play cap.

Click the Create button when finished to create the Ad Zone.

Once the Ad Zone is created, you can locate your Zone ID under the Integration section of the Ad Zone. The Zone ID will be used in the next step.

AdColony zone id

Locate your AdColony API Key

Bidding

This step isn't required for bidding integrations.

Waterfall

You will need your AdColony API Key for setting up your AdMob ad unit ID. Navigate to Account Settings in your AdColony publisher dashboard to locate your API Key.

AdColony settings

Turn on test mode

To enable test ads on AdColony, go to your AdColony dashboard and navigate to Monetization > Apps. Select your Zone for which you would like to enable test ads under the Ad Zones section of your app. Test ads can be enabled by checking Yes to Show test ads only? under the Development section.

AdColony test

第 2 步:在界面中设置 AdColony 需求 AdMob

为广告单元配置中介设置

您需要将 AdColony 添加到广告单元的中介配置。

首先,登录您的 AdMob 帐号。接下来,前往中介标签页。如果您想修改现有的中介组,请点击该中介组的名称进行修改,然后直接跳转到添加 AdColony 作为广告来源

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

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

为中介组命名,然后选择要定位到的地理位置。接下来,将中介组的状态设置为已启用,然后点击添加广告单元

将此中介组与您的一个或多个现有AdMob 广告单元相关联。接着,点击完成

现在,您应该会看到广告单元卡片内填充了您选择的广告单元:

添加为广告来源 AdColony

出价

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

点击如何签署合作伙伴协议,然后与AdColony设置出价合作伙伴关系

点击确认并同意,然后点击继续

如果您已有 AdColony的映射,则可以选择它。否则,请点击添加映射

接下来,输入在上一部分中获取的 App ID and Zone ID。接着,点击完成

重要提示: App ID 必须与目标应用相关联,就像在AdColony 界面中一样。

瀑布

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

选择 AdColony 并启用优化开关。输入在上一部分获得的 API Key,为AdColony设置广告来源优化。 然后,为AdColony 输入有效每千次展示费用值,并点击继续

如果您已有 AdColony的映射,则可以选择它。否则,请点击添加映射

接下来,输入在上一部分中获取的 App ID and Zone ID。接着,点击完成

添加到 GDPR 和美国州级法规的广告合作伙伴列表中 AdColony

GDPR 설정미국 주 규정 설정 AdColony 를 AdMob UI의 GDPR 및 미국 주 규정 광고 파트너 목록에 추가합니다.

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

  • 将以下代码行添加到项目的 Podfile 中:

    pod 'GoogleMobileAdsMediationAdColony'
    
  • 在命令行中运行以下命令:

    pod install --repo-update
    

手动集成

  • 下载最新版本的 AdColony SDK,并在您的项目中关联 AdColony.framework
  • 通过更新日志中的下载链接下载最新的 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 SDK 上实现隐私设置

根据 Google 欧盟地区用户意见征求政策,您必须确保就设备标识符和个人数据的使用向欧洲经济区 (EEA) 用户披露特定披露信息,并征得其同意。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。在征求用户意见时,您必须指明中介链中可能会收集、接收或使用个人数据的各个广告联盟,并提供有关每个广告联盟使用情况的信息。Google 目前无法自动将用户的同意情况传送给此类广告联盟。

AdColony 适配器公开了 appOptions 属性,可用于将要发送到 AdColony SDK 的自定义参数。关于这些选项,与 GDPR 相关的两个方法是 -setPrivacyFrameworkOfType:isRequired:-setPrivacyConsentString:forType:。以下示例代码演示了如何将用户意见征求信息传递给 AdColony 适配器,然后该适配器将在 AdColony 的初始化方法中使用。您必须在初始化 Google 移动广告 SDK 之前设置这些选项,以确保它们能正确转发到 AdColony 的 SDK。

Swift

import AdColonyAdapter
//...

let appOptions = GADMediationAdapterAdColony.appOptions
appOptions?.setPrivacyFrameworkOfType(ADC_GDPR, isRequired: true)
appOptions?.setPrivacyConsentString("1", forType: ADC_GDPR)

Objective-C

#import <AdColonyAdapter/AdColonyAdapter.h>
//...

AdColonyAppOptions *options = GADMediationAdapterAdColony.appOptions;
[options setPrivacyFrameworkOfType:ADC_GDPR isRequired:YES];
[options setPrivacyConsentString:@"1" forType:ADC_GDPR];

如需详细了解这些方法中可以提供哪些值,请参阅 AdColony 的 GDPR 实现详情

美国州级隐私保护法律

美国州级隐私保护法律 规定,必须让用户有权选择不“出售”其“个人信息”(该法律对这些术语进行了定义)。“出售”方须在首页醒目位置提供“请勿出售我的个人信息”链接,以供用户选择。美国州级隐私保护法律合规性指南让您可以为 Google 广告投放启用受限的数据处理,但 Google 无法将此设置应用于中介链中的每个广告联盟。因此,您必须确定中介链中可能参与个人信息出售的每个广告网络,并遵循每个广告网络的指导以确保合规性。

AdColony 适配器公开了 appOptions 属性,可用于将要发送到 AdColony SDK 的自定义参数。关于这些选项的两个与 CCPA 相关的方法是 -setPrivacyFrameworkOfType:isRequired:-setPrivacyConsentString:forType:。以下示例代码演示了如何将用户意见征求信息传递给 AdColony 适配器,然后该适配器将在 AdColony 的初始化方法中使用。您必须在初始化 Google 移动广告 SDK 之前设置这些选项,以确保它们能正确转发到 AdColony 的 SDK。

Swift

import AdColonyAdapter
//...

let appOptions = GADMediationAdapterAdColony.appOptions
appOptions?.setPrivacyFrameworkOfType(ADC_CCPA, isRequired: true)
appOptions?.setPrivacyConsentString("1", forType: ADC_CCPA)

Objective-C

#import <AdColonyAdapter/AdColonyAdapter.h>
//...

AdColonyAppOptions *options = GADMediationAdapterAdColony.appOptions;
[options setPrivacyFrameworkOfType:ADC_CCPA isRequired:YES];
[options setPrivacyConsentString:@"1" forType:ADC_CCPA];

如需详细了解这些方法中可以提供哪些值,请参阅 AdColony 的 CCPA 实现详情

第 5 步:添加所需的代码

SKAdNetwork 集成

按照 AdColony 文档的说明,将 SKAdNetwork 标识符添加到项目的 Info.plist 文件中。

第 6 步:测试实现效果

启用测试广告

请务必为AdMob 注册您的测试设备,并在 AdColony 界面中启用测试模式

验证测试广告

如需验证您收到的是来自AdColony的测试广告,请使用相应广告来源在广告检查器中启用单一广告来源测试AdColony (Bidding) and AdColony (Waterfall)

可选步骤

使用插页式广告和激励广告

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 不支持在五秒内配置两次。
105 未能展示广告。
106 用于激励广告的区域不是 AdColony 门户上的奖励区域。

AdColony iOS 中介适配器更新日志

下一版本

  • 移除了对 armv7 架构的支持。
  • 现在要求的最低版本为 iOS 11.0。
  • 现在需要 Google 移动广告 SDK 10.4.0 或更高版本。
  • 从横幅广告和插页式广告呈现器中移除了已废弃的 willBackgroundApplication 委托方法。
  • 将已废弃的 childDirectedTreatment 方法替换为 GADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatment

版本 4.9.0.2

  • 更新了适配器,以将 childDirectedTreatment 信息传递给 AdColony SDK。

构建和测试方式

  • Google 移动广告 SDK 10.1.0 版
  • AdColony SDK 4.9.0 版。

版本 4.9.0.1

  • 将适配器更新为使用 didRewardUser API。
  • 修复了在后台线程上调用界面相关的 API 方法的问题。
  • 取消了对已废弃的性别、生日和地理位置中介 API 的使用。
  • 现在需要 Google 移动广告 SDK 10.0.0 或更高版本。

构建和测试方式

  • Google 移动广告 SDK 10.0.0 版
  • AdColony SDK 4.9.0 版。

版本 4.9.0.0

  • 已验证与 AdColony SDK 4.9.0 的兼容性。

构建和测试方式

  • Google 移动广告 SDK 9.5.0 版。
  • AdColony SDK 4.9.0 版。

版本 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 或更高版本。
  • 现在要求的最低 iOS 版本为 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 请求,以遵循 Google 的 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

  • 向 extra 中添加了 testMode。发布商可以使用此属性将 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 version].[adapter patch version]。
  • 将所需的最低 AdColony SDK 版本更新为 v3.0.6。

早期版本