将 Chartboost 与中介集成

本指南适用于希望使用 Google 移动广告 SDK 通过中介加载和展示 Chartboost 广告的发布商。其中介绍了如何将 Chartboost 添加到广告单元的中介配置,如何设置广告联盟优化 (ANO)、,以及如何将 Chartboost SDK 和适配器集成到iOS 应用中。

支持的广告格式和功能

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

格式
横幅
插页式广告
激励广告
原生
功能
自适应横幅广告
广告联盟优化 (ANO) 自动收集数据

要求

  • iOS 部署目标为 10.0 或更高版本
  • 最新版 Google 移动广告 SDK

第 1 步:设置 Chartboost

注册一个 Chartboost 帐号,并在您的帐号通过验证后登录。点击左侧边栏上的 + 应用按钮。填写表单,然后点击保存,将应用添加到 Chartboost。

Chartboost 添加应用

然后,在您应用的 Chartboost 信息中心内,依次转到应用设置 > 基本设置,找到您的应用 ID应用签名

Chartboost 应用设置

AdMob 需要使用 Chartboost User IDUser Signature 来设置AdMob 广告单元 ID。导航到 Tools > API Explorer,您可以在 Chartboost 信息中心找到这些参数。您的 User IDUser Signature 位于 Authentication 部分下。

Chartboost API Explorer

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

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

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

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

AdMob Beta 中介标签页

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

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

新建中介组 2

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

选择广告单元

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

中介组广告单元

将 Chartboost 添加为广告来源

广告来源卡片中,选择添加广告联盟。然后选择 Chartboost

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

接下来,输入在上一部分中获取的应用 ID应用签名。此外,输入应用中用于唯一标识此展示位置的广告位置(例如“游戏屏幕”)。

配置 Chartboost 广告单元

Chartboost 广告位置(Named Locations)是应用中要用来展示广告的位置的简单名称。 AdMob 将请求发送到设置中指定的位置。发送请求后,Chartboost 会将营业地点添加到其信息中心以生成报告。

在 Chartboost 信息中心内,您可以点击高级设置,在基本设置页面显示广告位置。如需了解详情,请参阅 Chartboost 的命名位置指南。

最后,点击完成以将 Chartboost 添加为广告来源,然后点击保存

使用激励广告

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

如果您未应用此设置,Chartboost 适配器会传回 Chartboost 界面中指定的奖励。

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

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

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

    pod 'GoogleMobileAdsMediationChartboost'
    
  • 从命令行中运行以下命令:

    pod install --repo-update

手动集成

  • 下载最新版本的 Chartboost SDK,并在项目中关联 Chartboost.frameworkCHAMoatMobileAppKit.framework

  • Changelog 中的下载链接下载最新版 Chartboost 适配器,然后在项目中关联 ChartboostAdapter.framework

  • 将以下框架添加到您的项目中:

    • StoreKit
    • Foundation
    • CoreGraphics
    • WebKit
    • AVFoundation
    • UIKit

第 4 步:需要其他代码

项目设置

在目标的 Build Settings 下,将 Allow Non-modular Include in Framework Modules 设置为 YES

在调试和发布项目的“Build Settings”(构建设置)下的“Other Linker Flags”(其他链接器标记)中添加值 -ObjC

第 5 步:测试您的实现效果

您可以在 Chartboost' 信息中心的应用设置 > 基本设置下方为您的应用启用测试广告,如下所示。

Chartboost 测试模式

启用测试模式后,您可以使用之前创建的广告单元 ID 来请求广告,然后接收 Chartboost 测试广告。

第 6 步:准备应用以进行生产

您能够接收 Chartboost 测试广告后,您的应用将被放在 Chartboost' 的发布商应用审核中。 应用获得批准后,您就可以制作发布广告系列来配置应用,以展示实际的 Chartboost 广告。

在左侧菜单中转到获利 > 发布广告系列,点击添加广告系列(如果您已有其他广告系列,请点击信息中心右上角的 + 添加广告系列),然后在出现提示时选择网络发布

Chartboost 添加广告系列

为您的发布广告系列输入名称,选择展示位置类型,然后选择iOS作为平台。如果您的应用已获得 Chartboost 的批准,您将能够选择您的应用并将其应用于此广告系列。填写表单的其余部分,然后点击保存完成广告系列的添加。

Chartboost 广告系列

大功告成!您现在拥有了与 Chartboost 的有效中介集成。

可选步骤

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

以下部分介绍了如何为 Chartboost 启用或停用个性化广告。

在 SDK 版本 8.2.0 中,Chartboost 添加了 addDataUseConsent 方法。以下示例代码将数据的使用设置为同意使用 CHBGDPRConsentNonBehavioral。如果您选择调用此方法,建议您在通过 Google 移动广告 SDK 请求广告之前执行此操作。

Swift

let dataUseConsent = CHBDataUseConsent.GDPR(CHBDataUseConsent.GDPR.Consent.nonBehavioral)
Chartboost.addDataUseConsent(dataUseConsent)

Objective-C

CHBGDPRDataUseConsent *dataUseConsent = [CHBGDPRDataUseConsent gdprConsent:CHBGDPRConsentNonBehavioral];
[Chartboost addDataUseConsent:dataUseConsent];

如需了解详情,请参阅 Chartboost' 的 GDPR 文章

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

广告联盟专用参数

Chartboost 适配器支持其他请求参数,这些参数可使用 GADMChartboostExtras 类传递给适配器。此类包含以下属性:

  • framework - 如果您在应用中使用任何自定义框架(例如 Unity),请设置框架名称。
  • frameworkVersion - 设置您在应用中使用的框架版本。

以下是如何在广告请求中设置这些参数的代码示例:

Swift

let adRequest = GADRequest()
let cbExtras = GADMChartboostExtras()
cbExtras.framework = CBFrameworkOther
cbExtras.frameworkVersion = "1.2.3"
adRequest.registerAdNetworkExtras(cbExtras)

Objective-C

GADRequest *adRequest = [GADRequest request];
GADMChartboostExtras *cbExtras = [[GADMChartboostExtras alloc] init];
cbExtras.framework = CBFrameworkOther;
cbExtras.frameworkVersion = @"1.2.3";
[adRequest registerAdNetworkExtras:cbExtras];

错误代码

如果适配器未能收到来自 Chartboost 的广告,则发布商可以使用以下类下的 GADResponseInfo.adNetworkInfoArray,位于以下类下:

GADMAdapterChartboost
GADMediationAdapterChartboost

广告加载失败时,Chartboost 适配器会抛出以下代码和相关消息:

错误代码 原因
0-99 Chartboost SDK 返回了错误。如需了解详情,请参阅代码
101 请求的广告尺寸与 Chartboost 支持的横幅尺寸不符。
102 Chartboost 一次只能为每个营业地点加载 1 个广告。
103 在界面中配置的 Chartboost 服务器参数缺失/无效。 AdMob
101 在界面中配置的 Chartboost 服务器参数缺失/无效。 AdMob
102 Chartboost SDK 返回初始化错误。
103 系统会在图表显示时缓存 Chartboost 广告。
104 请求的广告尺寸与 Chartboost 支持的横幅尺寸不符。
105 设备的操作系统版本低于 Chartboost SDK 支持的最低操作系统版本。
200-299 Chartboost SDK 缓存错误。如需了解详情,请参阅代码
300-399 Chartboost SDK 显示错误。如需了解详情,请参阅代码
400-499 Chartboost SDK 点击错误。如需了解详情,请参阅代码

其他资源

Chartboost iOS 中介适配器变更日志

版本 8.5.0.2

  • 经验证与 Google 移动广告 SDK 9.0.0 版本兼容。
  • 现在需要使用 Google 移动广告 SDK 9.0.0 或更高版本。

构建和测试时使用的工具:

  • Google 移动广告 SDK 9.0.0 版。
  • Chartboost SDK 版本 8.5.0。

版本 8.5.0.1.0

  • 验证了与 CocoaPods 中引用了 8.5.0.1 版 Chartboost SDK 8.5.0 的兼容性。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 8.13.0。
  • Chartboost SDK 版本 8.5.0。

版本 8.5.0.0

  • 验证了与 Chartboost SDK 8.5.0 的兼容性。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 8.12.0。
  • Chartboost SDK 版本 8.5.0。

版本 8.4.2.0

  • 验证了与 Chartboost SDK 8.4.2 的兼容性。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 8.6.0。
  • Chartboost SDK 版本 8.4.2。

版本 8.4.1.1

  • 已放宽对 Google 移动广告 SDK 8.0.0 或更高版本的依赖。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 8.4.0。
  • Chartboost SDK 版本 8.4.1。

版本 8.4.1.0

  • 验证了与 Chartboost SDK 8.4.1 的兼容性。
  • 现在需要使用 Google 移动广告 SDK 8.1.0 或更高版本。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 8.1.0。
  • Chartboost SDK 版本 8.4.1。

版本 8.4.0.1

  • 添加了标准化的适配器错误代码和消息。
  • 更新了适配器以使用 .xcframework 格式。
  • 现在需要使用 Google 移动广告 SDK 8.0.0 或更高版本。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 8.0.0。
  • Chartboost SDK 版本 8.4.0。

版本 8.4.0.0

  • 验证了与 Chartboost SDK 8.4.0 的兼容性。
  • 现在需要使用 Google 移动广告 SDK 7.68.0 或更高版本。

构建和测试时所用的工具

  • Google 移动广告 SDK 7.68.0 版。
  • Chartboost SDK 版本 8.4.0。

版本 8.3.1.0

  • 验证了与 Chartboost SDK 8.3.1 的兼容性。
  • 现在需要使用 Google 移动广告 SDK 7.66.0 或更高版本。
  • 现在要求的最低操作系统版本为 10.0。
  • 更新了适配器,以支持自适应横幅广告请求。

构建和测试时所用的工具

  • Google 移动广告 SDK 7.66.0 版。
  • Chartboost SDK 版本 8.3.1。

版本 8.2.1.0

  • 验证了与 Chartboost SDK 8.2.1 的兼容性。
  • 现在需要使用 Google 移动广告 SDK 7.64.0 或更高版本。
  • 现要求使用最低的 iOS 9.0 版。

构建和测试时所用的工具

  • Google 移动广告 SDK 7.64.0 版。
  • Chartboost SDK 版本 8.2.1。

版本 8.2.0.0

  • 验证了与 Chartboost SDK 8.2.0 的兼容性。
  • 现在需要使用 Google 移动广告 SDK 7.61.0 或更高版本。

构建和测试时所用的工具

  • Google 移动广告 SDK 7.61.0 版。
  • Chartboost SDK 版本 8.2.0。

版本 8.1.0.1

  • 将所需的最低 Google 移动广告 SDK 版本更新为 7.60.0。
  • 更新了 Adapter 以使用 Chartboost' 的新 API 并移除了已弃用的 API。
  • 适配器现在支持加载使用同一 Chartboost 位置的多个同一格式的广告。
  • 如果奖励未在 AdMob 或 Ad Manager 界面中替换,激励广告的奖励值现在是 Chartboost 界面中指定的值,而不是 0

构建和测试时所用的工具

  • Google 移动广告 SDK 7.60.0 版。
  • Chartboost SDK 版本 8.1.0。

版本 8.1.0.0

  • 验证了与 Chartboost SDK 8.1.0 的兼容性。
  • 将 Google 移动广告 SDK 所需的最低版本更新为 7.59.0。
  • 取消了对 i386 架构的支持。

构建和测试时所用的工具

  • Google 移动广告 SDK 7.59.0 版。
  • Chartboost SDK 版本 8.1.0。

8.0.4.0 版

  • 验证了与 Chartboost SDK 8.0.4 的兼容性。

构建和测试时所用的工具

  • Google 移动广告 SDK 7.52.0 版。
  • Chartboost SDK 版本 8.0.4。

8.0.1.1 版

  • 修复了请求横幅广告不返回广告填充的问题。

8.0.1.0 版

  • 验证了与 Chartboost SDK 8.0.1 的兼容性。
  • 新增了对请求横幅广告的支持。

版本 7.5.0.1

  • 添加了代码以正确初始化 Chartboost SDK。

7.5.0.0 版

  • 验证了与 Chartboost SDK 7.5.0 的兼容性。
  • 更新了适配器,以使用新的激励广告 API。
  • 更新了适配器以处理多个插页式广告请求。
  • 现在需要使用 Google 移动广告 SDK 7.42.2 或更高版本。

版本 7.3.0.0

  • 验证了与 Chartboost SDK 7.3.0 的兼容性。

7.2.0.1 版

  • 向适配器添加了 adapterDidCompletePlayingRewardBasedVideoAd: 回调。

版本 7.2.0.0

  • 验证了与 Chartboost SDK 7.2.0 的兼容性。

7.1.2.0 版

  • 验证了与 Chartboost SDK 7.1.2 的兼容性。

7.1.1.0 版

  • 验证了与 Chartboost SDK 7.1.1 的兼容性。

7.1.0.0 版

  • 验证了与 Chartboost SDK 7.1.0 的兼容性。

7.0.4.0 版

  • 验证了与 Chartboost SDK 7.0.4 的兼容性。

版本 7.0.3.0

  • 验证了与 Chartboost SDK 7.0.3 的兼容性。

版本 7.0.2.0

  • 验证了与 Chartboost SDK 7.0.2 的兼容性。
  • 新增了对两个新的 Chartboost 错误代码的支持。

7.0.1.0 版

  • 验证了与 Chartboost SDK 7.0.1 的兼容性。

7.0.0.0 版

  • 验证了与 Chartboost SDK 7.0.0 的兼容性。

6.6.3.0 版

  • 验证了与 Chartboost SDK 6.6.3 的兼容性。
  • 取消了对 armv7s 架构的支持。
  • 修复了发布商在将 ChartboostAdapter.framework 作为模块导入非模块化 Chartboost SDK 时在 Swift 中遇到编译问题的问题。

6.6.2.0 版

  • 验证了与 Chartboost SDK 6.6.2 的兼容性。

6.6.1.0 版

  • 验证了与 Chartboost SDK 6.6.1 的兼容性。

6.6.0.0 版

  • 验证了与 Chartboost SDK 6.6.0 的兼容性。

6.5.2.1 版

  • 启用了位码支持。
  • 现在将 Chartboost 适配器作为框架分发。
  • 如需在项目中导入 ChartboostAdapter.framework,请确保在目标的“Build Settings”下将 Allow Non-modular Includes in Framework Modules 设置为 YES

6.5.2.0 版

  • 将版本命名系统更改为了 [Chartboost SDK 版本?[适配器补丁程序版本]。
  • 将所需的 Chartboost SDK 最低版本更新为 v6.5.1。
  • 将最低的 Google 移动广告 SDK 更新到了 7.10.1 版。
  • 修复了一个支持多个 Chartboost 广告位置的错误。
  • 现在,当插页式广告即将关闭时,应用会收到 interstitialWillDismissScreen: 回调。
  • 现在,当基于奖励的视频广告打开时,应用会收到 rewardBasedVideoAdDidOpen: 回调。

版本 1.1.0

  • 从 Chartboost extra 中移除了 Chartboost 广告位置。现在,在为中介配置 Chartboost 时,系统会在 AdMob 控制台中指定广告位置。

版本 1.0.0

  • 初始版本。支持基于奖励的视频广告和插页式广告。