# Chartboost 集成

> 在 iOS 上将 Chartboost 与 Unity LevelPlay 集成。本指南涵盖帐户设置、app 配置、广告位置创建、广告系列设置、参数检索、Unity Dashboard 中的激活、适配器集成和 COPPA 配置。

> **Important:**
>
> 以下文档涉及非 Unity 开发、拥有或运营的产品或服务（“第三方产品”）。
> 这些信息可能已过时或不完整，仅为方便您参考才提供。
> 您对任何第三方产品的使用均受产品自身条款的约束。
> Unity 对这些产品不提供任何担保，也不对因使用这些产品而造成的任何损害或损失负责，包括与第三方供应商提供的内容、广告或材料有关的问题。

本指南介绍如何在 iOS 上将 Chartboost 与 Unity LevelPlay 集成。它涵盖了从帐户设置到将 Chartboost 适配器和 SDK 集成到项目的整个过程。

> **Note:**
>
> 要查看此聚合网络的适配器更改日志，请参阅[iOS 聚合网络](/grow/levelplay/sdk/ios/mediation-networks.md.md#integrate-network-adapters)。

## 先决条件##prerequisites

在 Unity LevelPlay 中激活 Chartboost 之前，请确保您的 app 和项目满足以下先决条件：

* app 集成了奖励视频、插页式广告或横幅广告服务。
* 项目包含 LevelPlay SDK。
* app 与 iOS 11 或更高版本兼容。

确保将奖励视频、插页式广告服务或横幅广告服务正确集成到应用程序中。请参阅以下指定的于平台的指南以了解集成说明：

**Rewarded Video integration:**

* [iOS](/grow/levelplay/sdk/ios/rewarded-ads-integration.md)
* [Unity](/grow/levelplay/sdk/unity/rewarded-ad-integration-package.md)
* [Android](/grow/levelplay/sdk/android/rewarded-ads-integration.md)
* [Adobe AIR](/grow/levelplay/sdk/adobe/rewarded-ads-integration.md)
* [Flutter](/grow/levelplay/sdk/flutter/rewarded-ads-integration.md)
* [React Native](/grow/levelplay/sdk/react/rewarded-ads-integration.md)

**Interstitial integration:**

* [iOS](/grow/levelplay/sdk/ios/interstitial-integration.md)
* [Unity](/grow/levelplay/sdk/unity/interstitial-integration.md)
* [Android](/grow/levelplay/sdk/android/interstitial-integration.md)
* [Adobe AIR](/grow/levelplay/sdk/adobe/interstitial-integration.md)
* [Flutter](/grow/levelplay/sdk/flutter/interstitial-integration.md)
* [React Native](/grow/levelplay/sdk/react/interstitial-integration.md)

**Banner integration:**

* [iOS](/grow/levelplay/sdk/ios/banner-integration.md)
* [Unity](/grow/levelplay/sdk/unity/banner-integration.md)
* [Android](/grow/levelplay/sdk/android/banner-integration.md)
* [Adobe AIR](/grow/levelplay/sdk/adobe/banner-integration.md)
* [Flutter](/grow/levelplay/sdk/flutter/banner-integration.md)
* [React Native](/grow/levelplay/sdk/react/banner-integration.md)

## 创建并设置 ChartBoost 帐户##create-and-set-up-your-chartboost-account

创建和配置 Chartboost 帐户，以便您可以添加 app、设置付款详细信息以及准备广告位置以便与 Unity LevelPlay 进行聚合。

1. [注册 Chartboost 帐户](https://www.chartboost.com/sign-up/)。
2. 通过电子邮件验证创建并验证 Chartboost 帐户。
3. [登录 Chartboost Dashboard](https://dashboard.chartboost.com/login) 并按以下步骤设置帐户：
   * 添加付款详细信息 - 确保 Chartboost 知道将收入发送到何处。
   * 配置通知设置。
   * 根据需要添加其他用户。

## 在 Chartboost 后台中添加 app##add-your-app-in-the-chartboost-dashboard

在 Chartboost Dashboard 中注册 app 即可开始配置 SDK 集成和广告系列设置。如果这是第一次使用 Chartboost，请按照**第一时间设置**中的步骤操作。否则，请跳至 **Add a app as a registered Chartboost user**（将 app 添加为注册的 Chartboost 用户）。

> **Note:**
>
> 必须为支持的每个平台创建一个唯一的 Chartboost app 入口。

### 首次设置

时间日志 Chartboost Dashboard 时：

1. 选择 **Start making money!**

![开始赚钱](/api/media?file=/grow/media/images/Chartboost-integration-with-Supersonic-Mediation-01.png)

2. Chartboost 会尝试自动检测您的实时应用。如果未检测到 app，请选择以下选项之一：
   * 手动搜索您的公司

![手动搜索公司](/api/media?file=/grow/media/images/Chartboost-integration-with-Supersonic-Mediation-02.png)

* 手动添加 app（如果尚未发布 app）

![手动添加 app](/api/media?file=/grow/media/images/Chartboost-integration-with-Supersonic-Mediation-03.png)

3. 选择要添加的 app，然后选择 **Add Selected**。

![添加选定的应用程序](/api/media?file=/grow/media/images/Chartboost-integration-with-Supersonic-Mediation-04.png)
4.选择要投放的广告类型（奖励视频广告服务/静态插页广告服务），然后选择 **Create Campaign**（创建广告系列）。

### 将 app 添加为已注册的 Chartboost 用户

如果您已经有 Chartboost 帐户并正在添加新 app：

1. 转到 **Dashboard** > **Publishing** > **Add app**。

![添加 app](/api/media?file=/grow/media/images/Chartboost-integration-with-Supersonic-Mediation-08.png)

2. 输入 app 详细信息：
   * **Platform（平台）**：选择 app 运行的操作系统（iOS 或 Android）。
   * **app 昵称**：输入显示名称以在控制面板中标识 app。
   * **方向**：选择app程序支持的默认屏幕方向。
   * **测试模式设置**：启用测试模式可在设置和 QA 期间提供测试广告服务。

![app details](/api/media?file=/grow/media/images/Chartboost-integration-with-Supersonic-Mediation-09.png)

3. 保存app程序以检索应用app ID 和app签名。

![app ID and Signature](/api/media?file=/grow/media/images/Chartboost-integration-with-Supersonic-Mediation-10.png)

### 禁用奖励视频的播放前/播放后消息

如果您通过 LevelPlay 提供 Chartboost 奖励视频，请禁用 Chartboost 的播放前和播放后消息：

1. 在 Chartboost 后台中，打开 app。
2. 转到**基本设置** > **奖励视频** > **高级**。
3. 取消选中滚动前和滚动后消息选项。
4. 选择 **Save（保存）**。

![禁用滚动前/滚动后消息](/api/media?file=/grow/media/images/Chartboost-integration-with-Supersonic-Mediation-11.png)

\*\*横幅广告服务：\*\*横幅广告服务不需要在 Chartboost 中进行发布广告系列。它们通过 Chartboost Exchange 提供，并使用 Unity LevelPlay 适配器通过 SDK 直接调用。

## 创建广告位置##create-ad-locations

广告位置定义 ChartBoost 在 app 中显示广告服务的位置和时间。您可以在 Chartboost Dashboard 中创建和管理广告位置，每种 app 和位置类型最多可以添加 100 个唯一位置名称。

有关创建和管理广告位置的详细步骤，请参阅 [Chartboost Ad Locations 文档](https://docs.chartboost.com/en/)。

广告位置名称区分大小写，必须遵循以下规则：

* 最多 80 个字符
* 允许的大写或小写字母
* 允许的数字 0–9
* 允许的特殊角色：`$ & - _ , + / \`
* 不允许空格

**重要信息：**将 Unity LevelPlay 与应用内竞价结合使用时，仅创建**竞价**广告位置。使用固定 CPM 位置将阻止app内竞价正常工作。竞价广告位置类型适用于要使用app内竞价（Chartboost 的时间竞价解决方案）向 Chartboost Exchange 出价的发布者。

## 创建 ChartBoost 发布广告系列##create-a-chartboost-publishing-campaign

对于插页式广告和奖励广告服务，请在 Chartboost Dashboard（Chartboost 后台）中创建发布广告系列：

1. 在 Chartboost Dashboard 中，选择 **Add a Campaign** > **Network Publishing**。

![网络发布](/api/media?file=/grow/media/images/Supersonic-IS-Mediation-Chartboost-Network-Publishing.png)

2. 选择 **Rewarded Video** 或 **Static Interstitial**。
3. 如果同时提供两种格式，请创建单独的广告系列。
4. 根据需要配置定向投放（例如，地域、设备或用户定向投放）。
5. 保存广告系列。请注意，上线最多可能需要 20 分钟。

## 获取所需参数##retrieve-required-parameters

Unity LevelPlay 需要以下 Chartboost 参数才能允许 Unity LevelPlay 向 Chartboost 发送广告请求并导入报告数据：

* App ID（应用 ID）
* 应用签名
* 位置 ID
* 用户 ID
* 用户签名

### 在哪里可以找到这些参数

使用以下控制面板路径可找到每个参数：

* **App ID 和 app Signature**：**Dashboard** > **app Settings** > **Basic Settings**
* **用户 ID 和用户签名**：**Tools** > **API Explorer**

## 在 Unity Dashboard 中激活 ChartBoost##activate-chartboost-in-the-unity-dashboard

在 Chartboost 中配置 app 和广告系列并检索所需参数后，请在 Unity LevelPlay 中激活 Chartboost：

首先，从 Chartboost 检索参数：

\*\*app ID & app Signature：\*\*导航到 **Dashboard** > **App Settings** > **Basic Settings**。

![app ID and Signature](/api/media?file=/grow/media/images/CB-app-Id-sign-1.png)

\*\*用户 ID 和用户签名：\*\*导航到 **Tools** > **API Explorer**。

![用户 ID 和签名](/api/media?file=/grow/media/images/CB-user.png)

然后，在 LevelPlay 帐户中配置 Chartboost：

1. 登录 Unity Dashboard（Unity 后台）。
2. 转到 **Grow** > **LevelPlay** > **Setup** > **SDK Networks**。

![SDK 网络](/api/media?file=/grow/media/images/CB-1.png)

3. 从网络列表中选择 **Chartboost**。
4. 输入 **User ID** 和 **User Signature**。

![输入 User ID 和 Signature](/api/media?file=/grow/media/images/CB2.png)
5.选择 app 然后选择 **Setup**。
6.输入每个相关广告单元的 **app ID**、**app Signature** 和 **Location ID**（位置标识符）。
7.运行 **Reporting API 验证**。如果失败，请更新所有不正确的值并重试，直到状态显示为 **Verified**。

> **Note:**
>
> 验证可以返回：已验证、失败或无响应

## 将 Chartboost 适配器添加到 iOS 项目##add-the-chartboost-adapter-to-your-ios-project

要将 Chartboost SDK 与 iOS app 中的 Unity LevelPlay 集成，可使用 CocoaPods 向项目添加 Chartboost 适配器或手动安装。

### 使用 CocoaPods##using-cocoapods

要使用 CocoaPods 添加 Chartboost 适配器，请执行以下操作：

1. 打开 Podfile。

2. 添加以下代代码：

   ```ruby
   pod 'IronSourceChartboostAdapter', '5.3.0'
   ```

3. 运行 `pod install` 以安装适配器。

要确认支持的最新适配器版本，请参阅 [Chartboost 适配器更改日志](/grow/levelplay/sdk/ios/networks/changelogs/chartboost.md)。

### 手动安装##manual-installation

使用以下步骤手动安装和配置 Chartboost SDK。

1. 下载 [Chartboost 适配器和 Chartboost SDK](/grow/levelplay/sdk/ios/mediation-networks.md)。

   \*\*重要信息：\*\*Chartboost 适配器不包含 Chartboost SDK。下载 Chartboost SDK 并将其添加到项目中。

2. 将 Chartboost 适配器和 SDK 都添加 Xcode 项目中。

3. 在 Xcode 构建设置中，确保：
   * 底部 SDK 设置为 iOS 7.0 或更高版本。
   * armv6 架构未包含在内。

## 验证广告网络集成##verify-your-ad-network-integration

使用 [LevelPlay Integration Helper](/grow/levelplay/sdk/ios/integration-helper.md) 可验证 Unity LevelPlay SDK、Chartboost SDK 和 Chartboost 适配器是否已正确集成。

在开发版中，在初始化 Unity LevelPlay SDK 之前，通过调用以下方法启用适配器调试日志：

1. **Objective-C**

   ```objective-c
   [LevelPlay setAdaptersDebug:YES];
   ```

2. **Swift**

   ```swift
   LevelPlay.setAdaptersDebug(true)
   ```

\*\*注意：\*\*SDK 6.5.2 及更高版本支持适配器调试日志。在发布 app 之前，请删除此调用。

## 配置 Chartboost COPPA 行为##configure-chartboost-coppa-behavior

Chartboost 要求您指示 app 是否为子项导向。用户级 COPPA 支持需要 LevelPlay SDK 7.3.0+ 和 Chartboost iOS 适配器 4.3.14 或更高版本。

在 app 的代码中，在初始化 Unity LevelPlay SDK 之前，通过设置 `CHARTBOOST_COPPA` 元数据键来配置 app 是否为 Chartboost 子项定向。

**子定向：**

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"CHARTBOOST_COPPA" value:@"YES"];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("CHARTBOOST_COPPA", value: "true")
   ```

**不面向子项：**

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"CHARTBOOST_COPPA" value:@"NO"];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("CHARTBOOST_COPPA", value: "false")
   ```

在 Chartboost Dashboard 中添加 app 时，还必须指定 COPPA 设置。确保您的app内元数据和 Chartboost Dashboard 设置与app的实际受众一致。

有关更多详细信息，请参阅 [Chartboost 的 COPPA 文档](https://docs.chartboost.com/en/)。

## 后续步骤##next-steps

现在，您可以通过 Unity LevelPlay 提供 Chartboost 广告服务。

要通过 Unity LevelPlay 利用其他广告网络，请集成[适配器](/grow/levelplay/sdk/ios/mediation-networks.md)并按照我们的集成指南进行操作。
