将 Chartboost 与中介集成

本指南介绍了如何使用 Google 移动广告 SDK 通过 AdMob 中介加载和展示来自 Chartboost 的广告,其中涵盖了瀑布流集成。本文档介绍了如何将 Chartboost 添加到广告单元的中介配置中,以及如何将 Chartboost SDK 和适配器集成到 iOS 应用中。

支持的集成和广告格式

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

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

要求

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

  • 完成中介入门指南

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

注册 Chartboost 账号,并在账号通过验证后登录。 然后,前往应用管理标签页。

Chartboost 应用信息中心

点击添加新应用按钮以创建应用。

应用管理

填写表单的其余部分,然后点击添加应用按钮以完成应用。

新应用表单

创建应用后,您将进入其信息中心。记下应用的 App IDApp Signature

应用设置

AdMob 需要 Chartboost 用户 ID用户签名才能设置您的 AdMob 广告单元 ID。您可以在 Chartboost 界面中点击 Chartboost 中介来查找这些参数。

Chartboost Mediation 信息中心

前往资源 > API Explorer 标签页,并记下身份验证部分下的用户 ID用户签名

Chartboost API Explorer

更新 app-ads.txt

应用授权卖方 (app-ads.txt) 是一项 IAB Tech Lab 计划,有助于确保只通过您认定的授权渠道销售您的应用广告资源。为避免损失大量广告收入,您需要实施 app-ads.txt 文件。 如果您尚未完成此项设置,请为您的应用设置 app-ads.txt 文件

如需为 Chartboost 实现 app-ads.txt,请参阅 app-ads.txt

开启测试模式

您可以在 Chartboost 界面中前往应用管理标签页,从列表中选择您的应用,然后点击修改应用设置,从而在应用中启用测试模式。

修改应用设置

在应用的设置中,您可以开启应用的测试模式

Chartboost 测试模式

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

在您能够接收 Chartboost 测试广告后,您的应用将进入 Chartboost 的发布商应用审核流程。 为了让 Chartboost 上的创收功能正常运作,发布商应用审核需要获得 Chartboost 的批准。

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

为广告单元配置中介设置

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

首先,登录您的 AdMob 账号。接下来,前往中介标签页。如果您有想要修改的现有中介组,请点击相应中介组的名称进行修改,然后跳至将 Chartboost 添加为广告来源

如需创建新的中介组,请选择创建中介组

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

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

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

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

将 Chartboost 添加为广告来源


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

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



如果您已为 Chartboost 创建映射,可以选择该映射。 否则,请点击添加映射

接下来,输入您在上一部分中获得的应用 ID应用签名广告位置。然后,点击完成

Chartboost 广告位置(命名位置)是简单的名称,表示您希望在应用中展示广告的位置。 AdMob 会向设置中指定的位置发送请求。请求发送后,Chartboost 会将相应位置信息添加到其平台以用于报告。用户还可以在 Chartboost 平台中直接创建新的广告位置,然后再在游戏中调用这些广告位置。

在 Chartboost 界面中,点击高级设置,即可在基本设置页面中查看广告位置。如需了解详情,请参阅 Chartboost 的 [命名位置](//docs.chartboost.com/en/monetization/publishing/ad-locations/)指南。
最后,点击完成以添加 Chartboost 作为广告来源,然后点击保存

将 Chartboost 添加到 GDPR 和美国州级法规广告合作伙伴名单中

请按照欧洲法规设置美国州级法规设置中的步骤,将 Chartboost 添加到 AdMob 界面中的欧洲和美国州级法规广告合作伙伴名单中。

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

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

    pod 'GoogleMobileAdsMediationChartboost'
    
  • 从命令行运行:

    pod install --repo-update

手动集成

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

  • 更改日志中的下载链接下载最新版本的 Chartboost 适配器,并在项目中关联 ChartboostAdapter.framework

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

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

第 4 步:在 Chartboost SDK 上实现隐私权设置

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

在 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 文章iOS 隐私权方法

美国州级隐私保护法律

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

在 SDK 版本 8.2.0 中,Chartboost 添加了 addDataUseConsent 方法。以下示例代码将数据使用情况意见征求设为 CHBCCPAConsentOptInSale。如果您选择调用此方法,建议您在通过 Google 移动广告 SDK 请求广告之前调用。

Swift

let dataUseConsent = CHBDataUseConsent.CCPA(CHBDataUseConsent.CCPA.Consent.optInSale)
Chartboost.addDataUseConsent(dataUseConsent)

Objective-C

CHBCCPADataUseConsent *dataUseConsent = [CHBCCPADataUseConsent ccpaConsent:CHBCCPAConsentOptInSale];
[Chartboost addDataUseConsent:dataUseConsent];

如需详细了解每种方法以及可在其中提供的值,请参阅 Chartboost 的 CCPA 文章iOS 隐私权方法

第 5 步:添加必需的代码

SKAdNetwork 集成

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

项目设置

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

在项目的 Build Settings 下的 Other Linker Flags 中添加值 -ObjC,同时针对 Debug 和 Release 进行添加。

第 6 步:测试您的实现

启用测试广告

请务必注册测试设备以用于 AdMob,并在 Chartboost 界面中启用测试模式

验证测试广告

如需验证您是否正在接收来自 Chartboost 的测试广告,请使用 Chartboost(瀑布流)广告来源在广告检查器中启用单一广告来源测试

错误代码

如果适配器未能从 Chartboost 接收到广告,您可以使用以下类中的 GADResponseInfo.adNetworkInfoArray 检查广告响应中的底层错误:

GADMAdapterChartboost
GADMediationAdapterChartboost

以下是 Chartboost 适配器在广告加载失败时抛出的代码和随附的消息:

错误代码 原因
101 在 AdMob 界面中配置的 Chartboost 服务器参数缺失/无效。
102 Chartboost SDK 返回了初始化错误。
103 Chartboost 广告在展示时未缓存。
104 所请求的广告尺寸与 Chartboost 支持的横幅尺寸不符。
105 设备的操作系统版本低于 Chartboost SDK 支持的最低操作系统版本。
200-299 Chartboost SDK 缓存错误。如需了解详情,请参阅代码
300-399 Chartboost SDK 显示错误。如需了解详情,请参阅代码
400-499 Chartboost SDK 点击错误。如需了解详情,请参阅代码

Chartboost iOS 中介适配器变更日志

版本 9.9.1.0

  • 验证了与 Chartboost SDK 版本 9.9.1 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 12.7.0 版。
  • Chartboost SDK 版本 9.9.1。

版本 9.9.0.0

  • 验证了与 Chartboost SDK 版本 9.9.0 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 12.5.0 版。
  • Chartboost SDK 版本 9.9.0。

版本 9.8.1.0

  • 已验证与 Chartboost SDK 版本 9.8.1 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 12.0.0 版。
  • Chartboost SDK 版本 9.8.1。

版本 9.8.0.1

  • 现在需要 Google 移动广告 SDK 12.0.0 版或更高版本。

构建和测试所需版本:

  • Google 移动广告 SDK 12.0.0 版。
  • Chartboost SDK 版本 9.8.0。

版本 9.8.0.0

  • 已验证与 Chartboost SDK 版本 9.8.0 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 版本 11.11.0。
  • Chartboost SDK 版本 9.8.0。

版本 9.7.0.1

  • 更新了 CFBundleShortVersionString,使其包含三个组件而非四个。

构建和测试所需版本:

  • Google 移动广告 SDK 版本 11.10.0。
  • Chartboost SDK 版本 9.7.0。

版本 9.7.0.0

  • 已验证与 Chartboost SDK 版本 9.7.0 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 版本 11.2.0。
  • Chartboost SDK 版本 9.7.0。

版本 9.6.0.1

  • 现在需要最低 iOS 版本 12.0。
  • 现在需要 Google 移动广告 SDK 11.0 或更高版本。
  • Info.plist 已纳入 ChartboostAdapter.xcframework 中的框架。

构建和测试所需版本:

  • Google 移动广告 SDK 版本 11.0.1。
  • Chartboost SDK 版本 9.6.0。

版本 9.6.0.0

  • 已验证与 Chartboost SDK 版本 9.6.0 的兼容性。
  • 已将已废弃的方法 GADMobileAds.sharedInstance.sdkVersion 替换为 GADMobileAds.sharedInstance.versionNumber
  • 添加了 GADMediationInterstitialAd 实现。

构建和测试所需版本:

  • Google 移动广告 SDK 10.14.0 版。
  • Chartboost SDK 版本 9.6.0。

版本 9.5.1.0

  • 已验证与 Chartboost SDK 版本 9.5.1 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 版本 10.12.0。
  • Chartboost SDK 版本 9.5.1。

版本 9.4.0.0

  • 已验证与 Chartboost SDK 版本 9.4.0 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 10.7.0 版。
  • Chartboost SDK 版本 9.4.0。

版本 9.3.1.0

  • 已验证与 Chartboost SDK 版本 9.3.1 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 10.7.0 版。
  • Chartboost SDK 版本 9.3.1。

版本 9.3.0.0

  • 已验证与 Chartboost SDK 版本 9.3.0 的兼容性。
  • 现在需要最低 iOS 版本 11.0。
  • 现在需要 Google 移动广告 SDK 10.4.0 或更高版本。

构建和测试所需版本:

  • Google 移动广告 SDK 10.4.0 版。
  • Chartboost SDK 版本 9.3.0。

版本 9.2.0.0

  • 移除了 ChartboostAdapter 头文件中的 GADMChartboostExtras 导入。
  • 已验证与 Chartboost SDK 版本 9.2.0 的兼容性。
  • 现在需要使用 Google 移动广告 SDK 10.0.0 版或更高版本。
  • 移除了对 armv7 架构的支持。
  • 现在需要最低 iOS 版本 11.0。

构建和测试所需版本:

  • Google 移动广告 SDK 10.0.0 版。
  • Chartboost SDK 版本 9.2.0。

版本 9.1.0.0

  • 已验证与 Chartboost SDK 版本 9.1.0 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 版本 9.11.0。
  • Chartboost SDK 版本 9.1.0。

版本 9.0.0.0

  • 已验证与 Chartboost SDK 版本 9.0.0 的兼容性。
  • 已验证与 Google 移动广告 SDK 9.10.0 版的兼容性。
  • 更新了适配器以使用 didRewardUser API。
  • 现在需要 Google 移动广告 SDK 9.8.0 版或更高版本。

构建和测试所需版本:

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

版本 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

  • 已验证与 Chartboost SDK 8.5.0 的兼容性,该 SDK 在 CocoaPods 中是指版本 8.5.0.1。

构建和测试所需版本

  • 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 或更高版本。
  • 现在需要最低 iOS 版本 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。
  • 更新了适配器以使用 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”架构的支持。
  • 修复了以下 bug:发布商在 Swift 中将 ChartboostAdapter.framework 作为模块导入时,如果该模块导入了非模块化的 Chartboost SDK,则会遇到编译问题。

版本 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 设置下将 Allow Non-modular Includes in Framework Modules 设置为 YES

版本 6.5.2.0

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

版本 1.1.0

  • 从 Chartboost 插件中移除了 Chartboost 广告位置。现在,在 AdMob 控制台中为中介配置 Chartboost 时,可以指定广告位置。

版本 1.0.0

  • 初始版本。支持激励视频广告和插页式广告。