# Unity Ads 集成

> 使用 LevelPlay 的聚合平台将 Unity Ads 添加为 React 本地 app 中的聚合广告网络。

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

本指南将逐步说明如何在 Unity LevelPlay 上将 Unity Ads 设置为广告网络。

对于 Unity Ads 网络，在完成以下步骤 1 后，可使用自动设置工具。自动设置工具将创建 app 和出价者放置/位置并从 Unity Ads 检索放置/位置详细信息，因此无需在 LevelPlay 和 Unity Ads 平台之间切换。或者，也可以手动完成整个设置。

## 先决条件##prerequisites

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

**Rewarded ads integration:**

* [Unity](/grow/levelplay/sdk/unity/rewarded-ad-integration-package.md.md)
* [Android](/grow/levelplay/sdk/android/rewarded-ads-integration.md.md)
* [iOS](/grow/levelplay/sdk/ios/rewarded-ads-integration.md.md)
* [Adobe Air](/grow/levelplay/sdk/adobe/rewarded-ads-integration.md.md)
* [Flutter](/grow/levelplay/sdk/flutter/rewarded-ads-integration.md.md)
* [原生反应](/grow/levelplay/sdk/react/rewarded-ads-integration.md.md)

**Interstitial integration:**

* [Unity](/grow/levelplay/sdk/unity/interstitial-integration.md.md)
* [Android](/grow/levelplay/sdk/android/interstitial-integration.md.md)
* [iOS](/grow/levelplay/sdk/ios/interstitial-integration.md.md)
* [Adobe Air](/grow/levelplay/sdk/adobe/interstitial-integration.md.md)
* [Flutter](/grow/levelplay/sdk/flutter/interstitial-integration.md.md)
* [原生反应](/grow/levelplay/sdk/react/interstitial-integration.md.md)

**Banner integration:**

* [Unity](/grow/levelplay/sdk/unity/banner-integration.md.md)
* [Android](/grow/levelplay/sdk/android/banner-integration.md.md)
* [iOS](/grow/levelplay/sdk/ios/banner-integration.md.md)
* [Adobe Air](/grow/levelplay/sdk/adobe/banner-integration.md.md)
* [Flutter](/grow/levelplay/sdk/flutter/banner-integration.md.md)
* [原生反应](/grow/levelplay/sdk/react/banner-integration.md.md)

- Unity Ads 支持 Android 操作系统版本 4.4（API 级别 19）及更高版本
- Unity Ads SDK 4.7.1+ 需要最低编译 SDK 版本 33，以及最低 Kotlin 版本 1.7.0+

## 步骤 1. 设置 Unity Ads

在设置 Unity Ads 之前，请完成以下步骤：

1. [创建 Unity ID](/cloud/accounts/create-account.md.md)
2. [注册 Unity](https://cloud.unity.com)

> **Note:**
>
> 完成步骤 1 后，可以跳到[步骤 4](/grow/levelplay/sdk/unity/mediation-network-guides.md.md)，并使用自动出价器设置工具在 Unity LevelPlay 上启动并运行 Unity Ads 出价器。如果希望继续进行手动设置，请继续执行步骤 2。

## 步骤 2.在 Unity Ads 上创建项项目

按照以下步骤在 Unity Ads 上创建 app：

### 创建 app

1. 在 [Unity Monetization Dashboard](https://cloud.unity.com/monetization) 上，选择 **Projects**（项目）。

2. 选择 \*\*Organization，\*\*然后选择 **Projects**

3. 选择 **Create project**（创建项目）

   ![创建项目按钮](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-5.45.44.png)

4. 输入项目名称和 [COPPA](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule) 定位

5. 选择 **Create project**（创建项目）

   ![创建项目表单](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-5.47.25.png)

要变现项目，需要在控制面板中启用 Unity Ads。要从 Monetization（变现）后台的二级导航菜单中选择 **Get started（开始使用**）。

为项目初始化 Unity Ads 时，必须选择聚合提供商。选择 **I plan to use Mediation**（我计划使用聚合）。然后在 **Choose your Mediation Partner** 下选择 **Unity LevelPlay。**
![选择聚合合作伙伴](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-5.48.59.png)

### 创建广告单元

使用[广告单元](/grow/levelplay/platform/get-started/ad-units.md.md)可显示游戏中触发广告内容的事件：

1. 从左侧导航菜单中，选择 **Monetization（变现）> Ad Units（广告单位**）。
2. 选择 **Add Ad Unit**（添加广告单元）以显示创建模式
3. 输入广告单元名称，然后选择平台（iOS 或 Android）和[广告格式](/grow/levelplay/platform/get-started/ad-units.md.md)（奖励广告服务、插页式广告或横幅广告）。
4. 选择 **Create**（创建）以保存您的广告单元

### 添加放置/位置

创建项目后，导航到 **Monetization > Placements**，并记下这两个平台的**游戏 ID**。

![游戏 ID 位置](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-8.42.10.png)

要创建新的放置/位置，请选择 **添加放置/位置**。

> **Note:**
>
> 虽然 Unity Ads 在首次创建项项目会自动创建“默认” 广告位，但我们建议为每个 Unity Ads 聚合配置创建新的唯一广告位。

## 步骤 3.获取凭据

您需要从 Unity Ads 平台检索以下详细信息才能在 LevelPlay 上完成设置：

* API 密钥
* 组织核心 ID
* 密钥 ID
* Secret key

导航到 **Set up > API Management**，并记下 **API Key**。

![API 密钥位置](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-8.42.33.png)

然后，导航到组织设置并记下**组织核心 ID**。

![Organization core ID](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-8.43.02.png)

要获取**密钥 ID 和密钥**，请导航到 \*\*Monetization，\*\*然后导航到 \*\*API Management。\*\*选择 **Create LevelPlay 服务帐户**，随后将显示一个模式，其中包含您的密钥 ID 和密钥。请务必保存密钥，因为在关闭模态后将无法再次获取密钥。
![创建 LevelPlay 服务帐户](/api/media?file=/grow/media/images/Screen-Shot-2023-06-19-at-12.03.32-2.png)

## 步骤 4.在 LevelPlay 配置 Unity Ads 

获得所有这些参数后，日志 LevelPlay 帐户。

* 转到“**Mediation**”>“**Setup**”>“**SDK Networks**”。

  ![SDK Networks 页面](/api/media?file=/grow/media/images/Screenshot-2023-07-11-at-10.01.15-1.png)

* 从可用网络列表中选择 Unity Ads

* 在相关字段中输入 Unity Ads **API Key** 和 **Organizational Core ID**

  ![Unity Ads API 密钥和组织 ID](/api/media?file=/grow/media/images/Unity-updated-1-1-1.png)

* 要激活自动设置功能，请在 Unity Ads 自动设置工具上切换。这将启用在 Unity Ads 平台上自动创建 app 和出价者的放置/位置，并允许 LevelPlay 从 Unity Ads 检索放置/位置详细信息

* 切换自动设置工具后，输入密钥 ID 和密钥（从步骤 3 开始）。然后，选择 **保存**
  ![Unity Ads 自动设置配置](/api/media?file=/grow/media/images/Unity-updated-2-1.png)

> **Note:**
>
> 如果打开自动设置工具，仍然可以在 LevelPlay 上手动配置 Unity Ads 出价。

## 步骤 5：在 app 级别设置 Unity Ads

### 传统瀑布流设置 

* 从 SDK Networks 页面左侧的列表中选择要集成的app程序
* 在广告单元行中，选择 **Setup**，然后在相关广告单元设置下输入**游戏 ID** 和**放置/位置** **ID**
  ![Unity Ads 瀑布流设置](/api/media?file=/grow/media/images/F15F95A0-A7C7-40AF-A955-8C9BE6DB9621.png)
* 然后，您将在设置控制面板 (Setup Dashboard) 上看到 Unity Ads 已**激活**。

### 出价人设置

有两种方法可以在 LevelPlay 上设置 Unity Ads 出价人：

1. **Auto-setup** - 在 Unity Monetize（变现）后台上自动创建新 app 和广告位，并在 LevelPlay 上填充所有必要的设置
2. **Manual** - 在 LevelPlay 和 Unity Ads 平台上手动输入必要的 app 详细信息

**自动设置**

* 选择要在 Unity Ads 中运行插页式广告、奖励广告或横幅广告服务的app。然后在 Unity Ads 行中选择 define 图标

  ![Unity Ads 出价者设置图标](/api/media?file=/grow/media/images/Screenshot-2023-07-11-at-10.20.55.png)

* 选择 **Add Bider**（添加出价者）可在 Unity Ads 平台上自动创建新的 app 和竞价广告位，并导入游戏 ID 和放置/位置 ID。如果有一个已经所挂的游戏 ID 已附加到 app，如果至少有 1 个没有放置/位置 ID 参数值的放置/位置，则可以使用自动设置工具。在这种情况下，将创建新的竞价放置/位置（用于游戏 ID 插入）

  ![添加出价者自动设置](/api/media?file=/grow/media/images/68A72BE2-91CF-4DA0-8CD4-70FE035A8120-1-1-1.png)

选择 **保存** 以批准并接受所有配置。如果未保存模块，则会在 Unity Ads 平台上创建资源，而不会将数据导入 LevelPlay 平台。

\*\*重要信息：\*\*Unity Ads 出价者实例的状态与 ironSource 广告服务出价者的状态相同（按广告单元）。例如，如果您不使用 ironsource 广告服务出价器获取奖励广告服务，则不会针对 Unity Ads 网络自动激活此出价器。要激活奖励广告服务的 Unity Ads 竞价实例，请选择 Unity Ads 行并在广告单元上切换。 

**手动设置**

* 选择要从 Unity Ads 运行插页式广告服务或奖励广告的app

* 从 Ad Networks 的设置列表中选择 Unity Ads，选择 define 图标，然后在相关字段中插入游戏 ID 和放置/位置 ID

* 选择 **保存**

现在，您将看到 Unity Ads 在帐户中选择的广告单位处于激活状态。

## 步骤 6。将 Unity Ads 适配器添加到构建中##step-6.-add-the-unity-ads-adapter-to-your-build

使用适用于 [Android](/grow/levelplay/sdk/android/networks/guides/unity-ads.md) 和 [iOS](/grow/levelplay/sdk/ios/networks/guides/unity-ads.md) 的原生适配器继续集成。

## 步骤 7。Unity Ads 附加设置##step-7.-unity-ads-additional-settings

### 用户级别 COPPA##user-level-coppa

LevelPlay 允许发布者将 Unity Ads 用户级别的 COPPA 设置直接传达给 Unity Ads 网络。此功能是使用 LevelPlay SDK 7.1.12+、Unity Ads 适配器 4.3.15+ 已启用的。

使用以语法 Unity Ads user.nonBehavioral 标志设置为 true：

```js
从“Unity-levelplay-mediation”导入 { LevelPlay }

LevelPlay.setMetaData('UnityAds_coppa', ['true'])
```

使用以语法 Unity Ads user.nonBehavioral 标志设置为 false：

```js
从“Unity-levelplay-mediation”导入 { LevelPlay }

LevelPlay.setMetaData('UnityAds_coppa', ['false'])
```

在初始化 LevelPlay SDK **之前**调用 `LevelPlay.setMetaData`。

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

验证您的广告网络与我们的 [Integration Helper](/grow/levelplay/sdk/react/integration-helper.md) 集成。LevelPlay SDK 提供了一个工具，可确保已成功集成我们的 SDK 以及任何其他网络适配器。

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

```js
从“Unity-levelplay-mediation”导入 { LevelPlay }

LevelPlay.setAdaptersDebug(true)
```

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

您现在可以在应用程序中投放 Unity Ads 广告服务。

## 后续步骤##next-steps

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