本指南介绍了如何使用 GMA Next-Gen SDK 通过中介加载和展示来自 Chartboost 的广告,其中涵盖了瀑布流集成。如何将 Chartboost 添加到广告单元的中介配置,以及如何将 Chartboost SDK 和适配器集成到 Android 应用中。
支持的集成和广告格式
Chartboost 的中介适配器具有以下功能:
| 集成 | |
|---|---|
| 出价 | |
| 瀑布流 | |
| 表现形式 | |
| 横幅 | |
| 插页式广告 | |
| 激励广告 | |
| 原生 | |
要求
- Android API 级别 24 或更高级别
“GMA Next-Gen SDK”的最新视频
完成中介入门指南阅读。
第 1 步:在 Chartboost 界面中设置配置
注册 Chartboost 账号,并在账号通过验证后登录。 然后,前往应用管理标签页。
点击添加新应用按钮以创建应用。
填写表单的其余部分,然后点击添加应用按钮以完成应用。
创建应用后,您将进入其信息中心。记下应用的 App ID 和 App Signature。
Ad Manager 需要 Chartboost 用户 ID 和用户签名,才能设置您的 Ad Manager 广告单元 ID。您可以在 Chartboost 界面中点击 Chartboost 中介来查找这些参数。
前往资源 > API Explorer 标签页,然后记下身份验证部分下方的用户 ID 和用户签名。
更新 app-ads.txt
应用授权卖方 (app-ads.txt) 是一项 IAB Tech Lab 计划,有助于确保只通过您认定的授权渠道销售您的应用广告资源。为避免损失大量广告收入,您需要实施 app-ads.txt 文件。
如果您尚未完成此项操作,请为 Ad Manager 创建 app-ads.txt 文件。
如需为 Chartboost 实现 app-ads.txt,请参阅 app-ads.txt。
启用测试模式
您可以在 Chartboost 界面中前往应用管理标签页,从列表中选择您的应用,然后点击修改应用设置,从而在应用中启用测试模式。
在应用的设置中,您可以开启应用的测试模式。
启用测试模式后,您可以使用之前创建的广告单元 ID 请求广告,并接收 Chartboost 测试广告。
在您能够接收 Chartboost 测试广告后,您的应用将进入 Chartboost 的发布商应用审核流程。 若要通过 Chartboost 创收,发布商应用审核需要获得 Chartboost 的批准。
第 2 步:在 Ad Manager 界面中设置 Chartboost 需求
为广告单元配置中介设置
登录您的 Ad Manager 账号。
依次前往投放 > 收益组,然后点击新建收益组按钮。

为收益组输入唯一的名称,将状态设置为有效,选择广告格式,并将广告资源类型设置为移动应用。在定位 > 广告资源部分下,选择您要向广告资源和移动应用添加中介的广告单元。
接下来,点击添加收益合作伙伴按钮。

如果您已拥有 Chartboost 的收益合作伙伴,可以选择该合作伙伴。否则,请选择创建新的收益合作伙伴。
选择 Chartboost 作为广告联盟,输入唯一的名称,然后启用中介。
开启数据收集,然后输入在上一部分中获得的用户 ID 和用户签名。

选择收益合作伙伴后,选择移动 SDK 中介作为集成类型,Android 作为平台,有效作为状态。输入在上一部分中获得的应用 ID、应用签名和广告位置。然后,输入默认每千次展示费用值。
Chartboost 广告位置(命名位置)是简单的名称,表示您希望在应用中展示广告的位置。 Ad Manager 会向设置中指定的位置发送请求。发送请求后,Chartboost 会将相应位置信息添加到其界面中,以用于生成报告。
在 Chartboost 界面中,点击高级设置,即可在基本设置页面中显示广告位置。如需了解详情,请参阅 Chartboost 的命名位置指南。

完成后,点击页面底部的保存。
将 Chartboost 添加到 GDPR 和美国州级法规广告合作伙伴名单中
请按照欧洲法规设置和美国州级法规设置中的步骤,将 Chartboost 添加到 Ad Manager 界面内的欧洲法规和美国州级法规广告合作伙伴名单中。
第 3 步:导入 Chartboost SDK 和适配器
Android Studio 集成(推荐)
在项目级 settings.gradle.kts 文件中,添加以下代码库:
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven {
url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/")
}
}
}
在应用级 Gradle 文件中,添加以下实现依赖项和配置:
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02") implementation("com.google.ads.mediation:chartboost:9.11.1.0") } configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
dependencies { implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02' implementation 'com.google.ads.mediation:chartboost:9.11.1.0' } configurations.configureEach { exclude group: 'com.google.android.gms', module: 'play-services-ads' exclude group: 'com.google.android.gms', module: 'play-services-ads-lite' }
手动集成
从 Maven Central 下载最新版本 Chartboost SDK 的
.aar文件,并将其添加到您的项目中。前往 Google 的 Maven 制品库,找到 Chartboost 适配器制品。选择最新版本,下载 Chartboost 适配器的
.aar文件,然后将其添加到您的项目中。
第 4 步:在 Chartboost SDK 上实现隐私设置
欧盟地区用户意见征求和 GDPR
为了遵守 Google 的《欧盟地区用户意见征求政策》,您必须向欧洲经济区 (EEA)、英国和瑞士的用户披露某些信息,并征得他们同意才能使用 Cookie 或其他本地存储(如果法律有此要求),以及收集、分享和使用个人数据以实现广告个性化。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。您要负责验证用户意见是否已传播到中介链中的每个广告来源。Google 无法自动将用户意见传递给此类广告资源网。
在 SDK 版本 8.1.0 中,Chartboost 添加了 addDataUseConsent() 方法。以下示例代码将数据使用情况征得用户同意的设置设为 NON_BEHAVIORAL。如果您选择调用此方法,建议您在通过 GMA Next-Gen SDK 请求广告之前进行调用。
Java
DataUseConsent dataUseConsent = new GDPR(GDPR.GDPR_CONSENT.NON_BEHAVIORAL);
Chartboost.addDataUseConsent(context, dataUseConsent);
Kotlin
val dataUseConsent = GDPR(GDPR.GDPR_CONSENT.NON_BEHAVIORAL)
Chartboost.addDataUseConsent(context, dataUseConsent)
如需详细了解每种方法以及可在每种方法中提供的值,请参阅 Chartboost 的 GDPR 文章和 Android 隐私权方法。
美国州级隐私保护法律
美国各州隐私保护法律要求向用户提供选择拒绝“出售”其“个人信息”(该法律中对这些术语做出了定义)的权利,“出售”方须在首页醒目位置提供“Do Not Sell My Personal Information”(不出售我的个人信息)链接,以供这些用户选择。美国州级隐私保护法律合规性指南可让您为 Google 广告投放启用受限的数据处理,但 Google 无法将此设置应用于您的中介链中的每个广告联盟。因此,您必须确定中介链中可能参与个人信息出售的每个广告联盟,并遵循这些广告联盟的指南来确保合规性。
在 SDK 版本 8.1.0 中,Chartboost 添加了 addDataUseConsent() 方法。以下示例代码将数据使用情况征得用户同意的设置设为 OPT_IN_SALE。如果您选择调用此方法,建议您在通过 GMA Next-Gen SDK 请求广告之前进行调用。
Java
DataUseConsent dataUseConsent = new CCPA(CCPA.CCPA_CONSENT.OPT_IN_SALE);
Chartboost.addDataUseConsent(context, dataUseConsent);
Kotlin
val dataUseConsent = CCPA(CCPA.CCPA_CONSENT.OPT_IN_SALE)
Chartboost.addDataUseConsent(context, dataUseConsent)
如需详细了解每种方法以及可在其中提供的值,请参阅 Chartboost 的 CCPA 文章和 Android 隐私权方法。
第 5 步:添加必需的代码
更新 activity 配置更改
向 AndroidManifest.xml 文件中显示 Chartboost 广告并支持不同屏幕方向的每个 activity 添加以下属性:
android:configChanges="keyboardHidden|orientation|screenSize"
第 6 步:测试您的实现
启用测试广告
请务必为 Ad Manager 注册测试设备,并在 Chartboost 界面中启用测试模式。
验证测试广告
若要验证您是否能收到来自 Chartboost 的测试广告,请在广告检查器中启用 single ad source testing(单个广告来源测试),并选择 Chartboost (Waterfall)(Chartboost [瀑布流])作为广告来源。
可选步骤
权限
为获得最佳性能,Chartboost 建议您向应用的 AndroidManifest.xml 文件添加以下可选权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
错误代码
如果适配器未能收到来自 Chartboost 的广告,您可以使用 ResponseInfo.getAdSourceResponses() 来检查广告响应中归属于以下类的底层错误:
com.google.ads.mediation.chartboost.ChartboostAdapter
com.google.ads.mediation.chartboost.ChartboostMediationAdapter
以下是当广告加载失败时,Chartboost 适配器会抛出的代码和随附的消息:
| 错误代码 | 原因 |
|---|---|
| 0-99 | Chartboost SDK 返回了错误。如需了解详情,请参阅 Chartboost 的文档。 |
| 101 | 所请求的广告尺寸与 Chartboost 支持的横幅尺寸不符。 |
| 102 | Chartboost 每次只能为每个位置加载 1 个广告。 |
| 103 | 在 Ad Manager 界面中配置的 Chartboost 服务器参数缺失/无效。 |
| 104 | Chartboost 插页式广告或激励广告尚无法展示。 |