本指南适用于希望使用 Google 移动广告 SDK 通过中介加载和展示 Chartboost 广告的发布商。其中介绍了如何将 Chartboost 添加到广告单元的中介配置,如何设置广告联盟优化 (ANO)、,以及如何将 Chartboost SDK 和适配器集成到iOS 应用中。
支持的广告格式和功能
Chartboost 的 AdMob 中介适配器具有以下功能:
格式 | ||
---|---|---|
横幅 | ||
插页式广告 | ||
激励广告 | ||
原生 | ||
功能 | ||
自适应横幅广告 | ||
广告联盟优化 (ANO) | 自动收集数据 |
要求
- iOS 部署目标为 10.0 或更高版本
- 最新版 Google 移动广告 SDK
第 1 步:设置 Chartboost
注册一个 Chartboost 帐号,并在您的帐号通过验证后登录。点击左侧边栏上的 + 应用按钮。填写表单,然后点击保存,将应用添加到 Chartboost。
然后,在您应用的 Chartboost 信息中心内,依次转到应用设置 > 基本设置,找到您的应用 ID 和应用签名。
AdMob 需要使用 Chartboost User ID 和 User Signature 来设置AdMob 广告单元 ID。导航到 Tools > API Explorer,您可以在 Chartboost 信息中心找到这些参数。您的 User ID 和 User Signature 位于 Authentication 部分下。
第 2 步:为广告单元 AdMob 配置中介设置
您需要将 Chartboost 添加到广告单元的中介配置中。 首先,登录您的 AdMob 帐号。
接下来,转到中介标签页。如果您已有要修改的中介组,请点击该中介组的名称进行修改,然后直接将 Chartboost 添加为广告来源。
要创建新的中介组,请选择创建中介组。
输入广告格式和平台,然后点击继续。
为中介组命名,然后选择要定位到的地理位置。 然后,将中介组状态设置为已启用。然后点击添加广告单元,此时会打开广告单元选择叠加层。
将此中介组与现有 AdMob 广告单元相关联。 然后,点击完成。
现在,您应该会看到“广告单元”卡片中填充了您选择的广告单元。
将 Chartboost 添加为广告来源
在广告来源卡片中,选择添加广告联盟。然后选择 Chartboost。
启用优化开关。输入在上一部分中获取的 User ID 和 User Signature,以便为 Chartboost 设置 ANO。然后,为 Chartboost 输入有效每千次展示费用值,并点击继续。
接下来,输入在上一部分中获取的应用 ID 和应用签名。此外,输入应用中用于唯一标识此展示位置的广告位置(例如“游戏屏幕”)。
Chartboost 广告位置(Named Locations)是应用中要用来展示广告的位置的简单名称。 AdMob 将请求发送到设置中指定的位置。发送请求后,Chartboost 会将营业地点添加到其信息中心以生成报告。
在 Chartboost 信息中心内,您可以点击高级设置,在基本设置页面显示广告位置。如需了解详情,请参阅 Chartboost 的命名位置指南。
最后,点击完成以将 Chartboost 添加为广告来源,然后点击保存。
使用激励广告
在激励广告单元的设置中,提供奖励金额和奖励类型的值。然后,为确保无论投放哪个广告联盟,您都能向用户提供相同的奖励,请选中 应用于中介组中的所有广告联盟复选框。
如果您未应用此设置,Chartboost 适配器会传回 Chartboost 界面中指定的奖励。
如需详细了解如何为 AdMob 广告单元设置奖励值,请参阅创建广告单元。第 3 步:导入 Chartboost SDK 和适配器
使用 CocoaPods(推荐)
将以下行添加到项目的 Podfile 中:
pod 'GoogleMobileAdsMediationChartboost'
从命令行中运行以下命令:
pod install --repo-update
手动集成
下载最新版本的 Chartboost SDK,并在项目中关联 Chartboost.framework 和 CHAMoatMobileAppKit.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' 信息中心的应用设置 > 基本设置下方为您的应用启用测试广告,如下所示。
启用测试模式后,您可以使用之前创建的广告单元 ID 来请求广告,然后接收 Chartboost 测试广告。
第 6 步:准备应用以进行生产
您能够接收 Chartboost 测试广告后,您的应用将被放在 Chartboost' 的发布商应用审核中。 应用获得批准后,您就可以制作发布广告系列来配置应用,以展示实际的 Chartboost 广告。
在左侧菜单中转到获利 > 发布广告系列,点击添加广告系列(如果您已有其他广告系列,请点击信息中心右上角的 + 添加广告系列),然后在出现提示时选择网络发布。
为您的发布广告系列输入名称,选择展示位置类型,然后选择iOS作为平台。如果您的应用已获得 Chartboost 的批准,您将能够选择您的应用并将其应用于此广告系列。填写表单的其余部分,然后点击保存完成广告系列的添加。
大功告成!您现在拥有了与 Chartboost 的有效中介集成。
可选步骤
欧盟地区用户意见征求和 GDPR
根据 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 发布广告系列。
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
- 初始版本。支持基于奖励的视频广告和插页式广告。