本指南介绍了如何使用 Google 移动广告 SDK 使用 中介加载和展示来自 Chartboost 的广告,涵盖广告瀑布流集成。其中介绍了如何将 Chartboost 添加到广告单元的中介配置,以及如何将 Chartboost SDK 和适配器集成到应用中。 Android
支持的集成和广告格式
Chartboost 的中介适配器具有以下功能:
集成 | |
---|---|
出价 | |
瀑布 | |
表现形式 | |
横幅 | |
插页式广告 | |
激励广告 | |
原生 |
要求
- Android API 级别 21 或更高级别
最新版 Google 移动广告 SDK
完成中介入门指南
第 1 步:在 Chartboost 界面中设置配置
注册 Chartboost 账号,并在账号通过验证后登录。然后,前往应用管理标签页。
点击添加新应用按钮以创建应用。
填写表单的其余部分,然后点击添加应用按钮以最终确定应用。
创建应用后,您将进入其信息中心。记下应用的应用 ID 和应用签名。
Ad Manager 要求您提供 Chartboost 用户 ID 和 用户签名,才能设置 Ad Manager 广告单元 ID。您可以在 Chartboost 界面中点击 Chartboost 中介,找到这些参数。
前往 Resources > API Explorer 标签页,记下 Authentication 部分下的 User ID 和 User Signature。
开启测试模式
如需为应用启用测试模式,请前往 Chartboost 界面的应用管理标签页,从列表中选择您的应用,然后点击修改应用设置。
您可以在应用的设置中为应用切换测试模式。
启用测试模式后,您可以使用之前创建的广告单元 ID 请求广告,并接收 Chartboost 测试广告。
在您能够接收 Chartboost 测试广告后,您的应用将被列入 Chartboost 的发布商应用审核名单。若要在 Chartboost 上创收,发布商应用审核需要获得 Chartboost 的批准。
第 2 步:在界面中设置 Chartboost 需求 Ad Manager
为广告单元配置中介设置
登录您的 Ad Manager 账号。
依次前往投放 > 收益组,然后点击新建收益组按钮。
为收益组输入唯一的名称,将状态设为有效,选择广告格式,并将广告资源类型设为移动应用。在定位 > 广告资源部分下,选择您要为其添加中介的广告资源和移动应用下的广告单元。
接下来,点击添加收益合作伙伴按钮。
如果您已经有 Chartboost 的收益合作伙伴,可以选择该合作伙伴。否则,请选择创建新的收益合作伙伴。
选择 Chartboost 作为广告联盟,输入唯一的名称,然后启用中介。
开启自动收集数据,然后输入您在上一部分中获取的用户 ID 和用户签名。
选择收益合作伙伴后,选择移动 SDK 中介作为集成类型,选择 Android 作为平台,并选择有效作为状态。输入您在上一部分中获取的应用 ID、应用签名和广告位置。然后,输入默认每千次展示定价值。
Chartboost 广告展示位置(命名展示位置)是指表示您要在应用中展示广告的位置的简单名称。Ad Manager 会向设置中指定的位置发送请求。发送请求后,Chartboost 会将相应位置添加到其界面中,以便生成报告。
在 Chartboost 界面中,点击高级设置,即可在基本设置页面中显示您的广告展示位置。如需了解详情,请参阅 Chartboost 命名地理位置指南。
完成后,点击页面底部的保存。
将 Chartboost 添加到 GDPR 和美国州级法规广告合作伙伴名单
请按照 GDPR 设置和 美国州级法规设置中的步骤,将 Chartboost 添加到 Ad Manager 界面中的 GDPR 和美国州级法规广告合作伙伴名单中。
第 3 步:导入 Chartboost SDK 和适配器
Android Studio 集成(推荐)
在项目级 settings.gradle.kts
文件中,添加以下代码库:
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven {
url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/")
}
}
}
然后,在应用级 build.gradle.kts
文件中,添加以下实现依赖项和配置。使用最新版本的 Chartboost SDK 和适配器:
dependencies {
implementation("com.google.android.gms:play-services-ads:23.5.0")
implementation("com.google.ads.mediation:chartboost:9.8.0.0")
}
手动集成
从 Maven Central 下载最新版 Chartboost SDK 的
.aar
文件,并将其添加到您的项目中。前往 Google 的 Maven 制品库中的 Chartboost 适配器工件。选择最新版本,下载 Chartboost 适配器的
.aar
文件,然后将其添加到您的项目中。
第 4 步:在 Chartboost SDK 中实现隐私设置
欧盟地区用户意见征求和《一般数据保护条例》(GDPR)
根据 Google 《欧盟地区用户意见征求政策》,您必须确保向位于欧洲经济区 (EEA) 的用户披露相关信息并征求他们的意见,说明您将如何使用设备标识符和个人数据。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。在征求用户意见时,您必须指明中介链中可能会收集、接收或使用个人数据的每个广告联盟,并提供有关每个广告联盟使用情况的信息。Google 目前无法自动将用户的意见征求选择传递给此类广告联盟。
在 SDK 8.1.0 版中,Chartboost 添加了 addDataUseConsent()
方法。以下示例代码将数据使用意见征求设置为 NON_BEHAVIORAL
。如果您选择调用此方法,建议您先调用此方法,然后再通过 Google 移动广告 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 隐私权方法 。
美国州级隐私保护法律
美国各州隐私权法要求,您必须向用户提供选择拒绝出售其“个人信息”(该法律对这些术语进行了定义)的权利,并且“出售”方须在首页醒目位置提供“不出售我的个人信息”链接,以供用户选择。美国州级隐私保护法律合规指南提供了为 Google 广告投放启用受限的数据处理的功能,但 Google 无法将此设置应用于中介链中的每个广告网络。因此,您必须找出中介链中可能参与销售个人信息的每个广告网络,并遵循每个广告网络的指南,以确保合规。
在 SDK 8.1.0 版中,Chartboost 添加了 addDataUseConsent()
方法。以下示例代码将数据使用意见征求设置为 OPT_IN_SALE
。如果您选择调用此方法,建议您先调用此方法,然后再通过 Google 移动广告 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 步:添加所需代码
修改 AndroidManifest
其他元素
在 AndroidManifest.xml
文件中,将以下属性添加到将展示 Chartboost 广告且支持不同屏幕方向的每个 activity:
android:configChanges="keyboardHidden|orientation|screenSize"
生命周期事件
根据 Chartboost 的建议,请将以下代码添加到将展示 Chartboost 广告的所有 activity 生命周期事件。
Java
import com.chartboost.sdk.Chartboost;
// ...
@Override
public void onBackPressed() {
// If an interstitial is on screen, close it.
if (Chartboost.onBackPressed()) {
return;
} else {
super.onBackPressed();
}
}
Kotlin
import com.chartboost.sdk.Chartboost
// ...
@Override
fun onBackPressed() {
// If an interstitial is on screen, close it.
if (Chartboost.onBackPressed())
return
else
super.onBackPressed()
}
第 6 步:测试您的实现
启用测试广告
请务必为 Ad Manager 注册测试设备,并在 Chartboost 界面中启用测试模式。
验证测试广告
如需验证您是否在接收来自 Chartboost 的测试广告,请在广告检查器中使用 Chartboost(瀑布流)广告来源启用单一广告来源测试。
可选步骤
权限
为了获得最佳性能,Chartboost 建议您将以下可选权限添加到应用的 AndroidManifest.xml
文件中:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
错误代码
如果适配器未能从 Chartboost 收到广告,您可以使用以下类下的
ResponseInfo.getAdapterResponses()
检查广告响应中的底层错误:
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 插页式广告或激励广告尚未准备好展示。 |
Chartboost Android 中介适配器变更日志
版本 9.8.0.0
- 已经验证与 Chartboost SDK 版本 9.8.0 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 23.4.0 版。
- Chartboost SDK 版本 9.8.0。
版本 9.7.0.0
- 已验证与 Chartboost SDK 版本 9.7.0 的兼容性。
- 将最低要求的 Google 移动广告 SDK 版本更新为 23.0.0。
构建和测试所需版本:
- Google 移动广告 SDK 23.0.0 版。
- Chartboost SDK 版本 9.7.0。
版本 9.6.1.0
- 已经验证与 Chartboost SDK 版本 9.6.1 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 22.6.0 版。
- Chartboost SDK 版本 9.6.1。
版本 9.6.0.0
- 已经验证与 Chartboost SDK 版本 9.6.0 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 22.5.0 版。
- Chartboost SDK 版本 9.6.0。
版本 9.5.0.0
- 已验证与 Chartboost SDK 版本 9.5.0 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 22.3.0 版。
- Chartboost SDK 版本 9.5.0。
版本 9.4.1.0
- 已经验证与 Chartboost SDK 版本 9.4.1 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 22.2.0 版。
- Chartboost SDK 版本 9.4.1。
版本 9.4.0.0
- 已验证与 Chartboost SDK 版本 9.4.0 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 22.1.0 版。
- Chartboost SDK 版本 9.4.0。
版本 9.3.1.0
- 已经验证与 Chartboost SDK 版本 9.3.1 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 22.1.0 版。
- Chartboost SDK 版本 9.3.1。
版本 9.3.0.0
- 已验证与 Chartboost SDK 版本 9.3.0 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 22.0.0 版。
- Chartboost SDK 版本 9.3.0。
版本 9.2.1.1
- 更新了适配器,以使用新的
VersionInfo
类。 - 将最低要求的 Google 移动广告 SDK 版本更新为 22.0.0。
构建和测试所需版本:
- Google 移动广告 SDK 22.0.0 版。
- Chartboost SDK 版本 9.2.1。
版本 9.2.1.0
- 已验证与 Chartboost SDK 9.2.1 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 21.5.0 版。
- Chartboost SDK 版本 9.2.1。
版本 9.2.0.0
- 已经验证与 Chartboost SDK 9.2.0 兼容。
- 将最低要求的 Google 移动广告 SDK 版本更新为 21.5.0。
构建和测试所需版本:
- Google 移动广告 SDK 21.5.0 版。
- Chartboost SDK 版本 9.2.0。
版本 9.1.1.0
- 添加了
ChartboostMediationAdapter.setAppParams(String, String)
方法,作为一种可选方法来对要用于初始化 Chartboost SDK 的应用 ID 和应用签名进行硬编码。 - 已验证与 Chartboost SDK 9.1.1 的兼容性。
- 将最低要求的 Google 移动广告 SDK 版本更新为 21.3.0。
构建和测试所需版本:
- Google 移动广告 SDK 21.3.0 版。
- Chartboost SDK 版本 9.1.1。
版本 8.4.3.1
- 将最低要求的 Google 移动广告 SDK 版本更新为 21.0.0。
- 将所需的最低 Android API 级别更新为 19。
构建和测试所需版本:
- Google 移动广告 SDK 21.0.0 版。
- Chartboost SDK 版本 8.4.3。
版本 8.4.3.0
- 已经验证与 Chartboost SDK 8.4.3 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 20.6.0 版。
- Chartboost SDK 版本 8.4.3。
版本 8.4.2.0
- 已验证与 Chartboost SDK 8.4.2 的兼容性。
- 将
compileSdkVersion
和targetSdkVersion
更新为 API 31。 - 将最低要求的 Google 移动广告 SDK 版本更新为 20.6.0。
构建和测试所需版本:
- Google 移动广告 SDK 20.6.0 版。
- Chartboost SDK 版本 8.4.2。
版本 8.4.1.0
- 已验证与 Chartboost SDK 8.4.1 的兼容性。
- 将最低要求的 Google 移动广告 SDK 版本更新为 20.6.0。
构建和测试所需版本:
- Google 移动广告 SDK 20.6.0 版。
- Chartboost SDK 版本 8.4.1。
版本 8.3.1.0
- 已验证与 Chartboost SDK 8.3.1 的兼容性。
- 更新了适配器以使用新的
AdError
API。
构建和测试所需版本:
- Google 移动广告 SDK 20.5.0 版。
- Chartboost SDK 版本 8.3.1。
版本 8.3.0.0
- 已经验证与 Chartboost SDK 8.3.0 兼容。
- 将最低要求的 Google 移动广告 SDK 版本更新为 20.5.0。
构建和测试所需版本:
- Google 移动广告 SDK 20.5.0 版。
- Chartboost SDK 版本 8.3.0。
版本 8.2.1.0
- 已验证与 Chartboost SDK 8.2.1 的兼容性。
- 将最低要求的 Google 移动广告 SDK 版本更新为 20.1.0。
构建和测试所需版本:
- Google 移动广告 SDK 20.1.0 版。
- Chartboost SDK 版本 8.2.1。
版本 8.2.0.1
- 将最低要求的 Google 移动广告 SDK 版本更新为 20.0.0。
构建和测试所需版本:
- Google 移动广告 SDK 20.0.0 版。
- Chartboost SDK 版本 8.2.0。
版本 8.2.0.0
- 已验证与 Chartboost SDK 8.2.0 的兼容性。
- 将最低要求的 Google 移动广告 SDK 版本更新为 19.5.0。
构建和测试所需版本:
- Google 移动广告 SDK 19.5.0 版。
- Chartboost SDK 版本 8.2.0。
版本 8.1.0.0
- 已验证与 Chartboost SDK 8.1.0 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 19.2.0 版。
- Chartboost SDK 版本 8.1.0。
版本 8.0.3.2
- 添加了描述性错误代码和适配器加载/显示失败的原因。
- 将最低要求的 Google 移动广告 SDK 版本更新为 19.2.0。
构建和测试所需版本:
- Google 移动广告 SDK 19.2.0 版。
- Chartboost SDK 版本 8.0.3。
版本 8.0.3.1
- 添加了对 Chartboost 横幅广告的支持。
构建和测试所需版本:
- Google 移动广告 SDK 19.1.0 版。
- Chartboost SDK 版本 8.0.3。
版本 8.0.3.0
- 已验证与 Chartboost SDK 8.0.3 的兼容性。
- 将最低要求的 Google 移动广告 SDK 版本更新为 19.1.0。
构建和测试所需版本:
- Google 移动广告 SDK 19.1.0 版。
- Chartboost SDK 版本 8.0.3。
版本 8.0.2.0
- 已验证与 Chartboost SDK 8.0.2 的兼容性。
- 将最低要求的 Google 移动广告 SDK 版本更新为 19.0.1。
构建和测试所需版本:
- Google 移动广告 SDK 19.0.1 版。
- Chartboost SDK 版本 8.0.2。
版本 8.0.1.0
- 已验证与 Chartboost SDK 8.0.1 的兼容性。
- 需要 Chartboost SDK 8.0.1 或更高版本。
- 不再需要 activity 上下文即可加载广告。
构建和测试所需版本:
- Google 移动广告 SDK 18.3.0 版。
- Chartboost SDK 版本 8.0.1。
版本 7.5.0.1
- 修复了 Chartboost 适配器未能调用广告事件的 bug。
- 将最低要求的 Google 移动广告 SDK 版本更新为 18.3.0。
构建和测试所需版本:
- Google 移动广告 SDK 18.3.0 版。
- Chartboost SDK 版本 7.5.0。
版本 7.5.0.0
- 已验证与 Chartboost SDK 7.5.0 的兼容性。
- 迁移了适配器以使用 AndroidX 依赖项。
- 将最低要求的 Google 移动广告 SDK 版本更新为 18.1.1。
版本 7.3.1.1
- 更新了适配器,以支持新的公开 Beta 版激励广告 API。
- 将最低要求的 Google 移动广告 SDK 版本更新为 17.2.0。
版本 7.3.1.0
- 已验证与 Chartboost SDK 7.3.1 的兼容性。
版本 7.3.0.0
- 已经验证与 Chartboost SDK 7.3.0 兼容。
版本 7.2.1.0
- 已验证与 Chartboost SDK 7.2.1 的兼容性。
版本 7.2.0.1
- 更新了适配器以调用
onRewardedVideoComplete()
广告事件。
版本 7.2.0.0
- 已经验证与 Chartboost SDK 7.2.0 兼容。
版本 7.1.0.0
- 已验证与 Chartboost SDK 7.1.0 的兼容性。
版本 7.0.1.0
- 已验证与 Chartboost SDK 7.0.1 的兼容性。
- 添加了对新的 Chartboost 错误代码的支持。
- 更新了适用于 Android Studio 3.0 的适配器项目
版本 7.0.0.0
- 更新了适配器,使其与 Chartboost SDK 7.0.0 兼容。
版本 6.6.3.0
- 已经验证与 Chartboost SDK 6.6.3 兼容。
版本 6.6.2.0
- 已经验证与 Chartboost SDK 6.6.2 兼容。
版本 6.6.1.0
- 已经验证与 Chartboost SDK 6.6.1 兼容。
版本 6.6.0.0
- 将版本命名系统更改为 [Chartboost SDK 版本].[适配器补丁版本]。
- 现在,您可以将适配器添加为编译依赖项,只需将以下代码添加到 build.gradle 文件的 dependencies 标记中即可:
compile 'com.google.ads.mediation:chartboost:6.6.0.0'
- 改为以 aar 文件(而非 jar 文件)分发适配器(如需了解更多说明,请参阅自述文件)。
版本 1.1.0
- 从 Chartboost 附加信息中移除了 Chartboost 广告位置。现在,在 AdMob 控制台中配置 Chartboost 中介时,需要指定广告位置。
版本 1.0.0
- 初始版本。支持激励视频广告和插页式广告。