Integrate Chartboost with mediation

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

支持的集成和广告格式

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

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

要求

  • Android API 级别 21 或更高级别
  • 最新版 Google 移动广告 SDK

  • 看完中介服务入门指南

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

Sign up for a Chartboost account and log in once your account is verified. Then, navigate to the Apps management tab.

Chartboost apps dashboard

Click the Add new app button to create your app.

Apps Management

Fill out the rest of the form and click the Add App button to finalize your app.

New app form

After your app is created, you will be directed to its dashboard. Take note of the App ID and App Signature of your app.

App settings

AdMob requires the Chartboost User ID and User Signature for setting up your AdMob ad unit ID. You can find these parameters by clicking Chartboost mediation on the Chartboost UI.

Chartboost mediation dashboard

Navigate to the Resources > API Explorer tab and take note of your User ID and User Signature located under the Authentication section.

Chartboost api explorer

Turn on test mode

You can enable test mode on your app by navigating to the Apps management tab from the Chartboost UI, selecting your app from the list and clicking on Edit app settings.

Edit app settings

From your app's settings, you can toggle Test mode on your app.

Chartboost test mode

Once test mode is enabled, you can request ads using the ad unit ID created earlier and receive a Chartboost test ad.

After you are able to receive Chartboost test ads, your app will be placed on Chartboost's Publisher App Review. In order for monetization on Chartboost to work, the publisher app review will need to be approved by Chartboost.

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

Configure mediation settings for your ad unit

You need to add Chartboost to the mediation configuration for your ad unit.

First, sign in to your AdMob account. Next, navigate to the Mediation tab. If you have an existing mediation group you'd like to modify, click the name of that mediation group to edit it, and skip ahead to Add Chartboost as an ad source.

To create a new mediation group, select Create Mediation Group.

Enter your ad format and platform, then click Continue.

Give your mediation group a name, and select locations to target. Next, set the mediation group status to Enabled, and then click Add Ad Units.

Associate this mediation group with one or more of your existing AdMob ad units. Then click Done.

You should now see the ad units card populated with the ad units you selected:

Add Chartboost as an ad source

Under the Waterfall card in the Ad Sources section, select Add Ad Source. Then select Chartboost.

Select Chartboost and enable the Optimize switch. Enter the User ID and User Signature obtained in the previous section to set up ad source optimization for Chartboost. Then enter an eCPM value for Chartboost and click Continue.

If you already have a mapping for Chartboost, you can select it. Otherwise, click Add mapping.

Next, enter the App ID, App Signature and Ad Location obtained in the previous section. Then click Done.

Chartboost Ad Locations (Named Locations) are simple names representing a place in your app where you want to show an ad. AdMob sends requests to the location specified in the settings. Once requests are sent, Chartboost adds the location to its platform for reporting purposes. Users also have the ability to create new ad locations directly in the Chartboost platform before calling them in their games.

In the Chartboost UI, your Ad Locations can be revealed in the Basic Settings page by clicking Advanced Settings. See Chartboost's Named Locations guide for more details.

Finally, click Done to add Chartboost as an ad source, and then click Save.

将 Chartboost 添加到 GDPR 和美国州级法规广告合作伙伴列表

Follow the steps in GDPR settings and US state regulations settings to add Chartboost to the GDPR and US state regulations ad partners list in the AdMob UI.

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

在项目级 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.2.0")
    implementation("com.google.ads.mediation:chartboost:9.7.0.0")
}

手动集成

  1. 从 Maven Central 下载最新版 Chartboost SDK.aar 文件,并将其添加到您的项目。

  2. 转到 Google 的 Maven 制品库中的 Chartboost 适配器工件。选择最新版本,下载 Chartboost 适配器的 .aar 文件并将其添加到您的项目。

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

根据 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 步:测试实现效果

Enable test ads

Make sure you register your test device for AdMob and enable test mode in Chartboost UI.

Verify test ads

To verify that you are receiving test ads from Chartboost, enable single ad source testing in ad inspector using the Chartboost (Waterfall) ad source(s).

可选步骤

权限

为了获得最佳性能,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 界面中配置的 Chartboost 服务器参数 AdMob 缺失/无效。
104 Chartboost 插页式广告或激励广告尚未准备好展示。
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 Android 中介适配器更新日志

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 的兼容性。
  • compileSdkVersiontargetSdkVersion 更新到了 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 或更高版本。
  • 加载广告不再需要活动上下文。

构建和测试时所用平台:

  • 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 的 Adapter 项目

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 version].[adapter patch version]。
  • 现在,可以将以下代码添加到 build.gradle 文件的依赖项标记,从而将适配器添加为编译依赖项: compile 'com.google.ads.mediation:chartboost:6.6.0.0'
  • 现已将适配器分发为 aar 而非 jar 文件(有关其他说明,请参阅 README)。

版本 1.1.0

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

版本 1.0.0

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