# Unity Ads 集成

> 在 Unity LevelPlay 中将 Unity Ads 设置为广告网络，方法是创建 Unity ID，设置 app 和广告位，并将它们链接到 LevelPlay 帐户。

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

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

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

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

## 先决条件##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

LevelPlay 支持 **Cocoapods** 和 **Manual** 下载机制。

### 使用 Cocoapods 下载 Unity Ads 适配器##download-the-unity-ads-adapter-with-cocoapods

要将 Unity Ads SDK 与 Cocoapods 集成，请在 podfile 中输入以下行，即可开始使用！

```ruby
pod 'IronSourceUnityAdsAdapter','5.5.0'
```

### 手动下载##manual-download

1. \*\*下载 Unity Ads 适配器和 SDK：\*\*将 Unity Ads 适配器添加到构建中。请参阅 [iOS 调解网络](/grow/levelplay/sdk/ios/mediation-networks.md)。\*\*重要信息！\*\*Unity Ads 适配器不包含 Unity Ads SDK。请确保也添加 Unity Ads SDK。
2. **将 Unity Ads 框架添加到项目中：**下载 SDK 和适配器文件并将其解压缩后，将**框架**文件放入 Xcode 项目。

#### 更新属性列表文件 (Info.plist)##update-property-list-file-(info.plist)

Unity Ads SDK 3.4.8+ 要求在 app 属性列表文件 (Info.plist) 中包含 Unity Ads ad network ID。在[此处](/grow/ads/ios-sdk/ios14/configure-ad-network-ids.md)了解有关 Unity Ads SKAdNetwork Ids 文档的更多信息。

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

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

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

使用以下语法设置 Unity Ads user.nonBehavioral 标志（参数为 true）：

1. **Objective-C**

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

2. **Swift**

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

使用以下语法设置 Unity Ads user.nonBehavioral 标志（参数为 False）：

1. **Objective-C**

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

2. **Swift**

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

## 评估广告网络集成##evaluate-your-ad-network-integration

* 验证您的广告网络与我们的 [Integration Helper](/grow/levelplay/sdk/ios/integration-helper.md) 集成。LevelPlay SDK 提供了一个工具，可确保已成功集成我们的 SDK 以及任何其他网络适配器。
* 使用此布尔值管理集成的聚合广告网络的调试日志

  1. **Objective-C**

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

  2. **Swift**

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

  设置为 YES 时，这行代码将启用调试日志，以帮助您解决所有聚合广告网络的问题。在 app 与我们的广告单位上线之前，请删除此代码！SDK 6.5.2 及更高版本支持。

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

## 后续步骤##next-steps

要通过 LevelPlay Mediation 利用其他广告网络，请集成[适配器](/grow/levelplay/sdk/unity/mediation-networks.md.md)，然后遵循我们的集成指南。
