# Google Ad Manager 集成

> 通过设置 Google Ad Manager 帐户、创建广告单位以及为项目添加必要的适配器，将 Google Ad Manager 与 Unity LevelPlay 集成。

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

按照以下说明将 Google Ad Manager 设置为 Unity LevelPlay 聚合中的广告网络。

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

## 先决条件##prerequisites

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

  **Integration guides:**

  * [奖励广告服务](/grow/levelplay/sdk/android/rewarded-ads-integration.md)
  * [插屏广告](/grow/levelplay/sdk/android/interstitial-integration.md)
  * [横幅广告](/grow/levelplay/sdk/android/banner-integration.md)

## 步骤 1.创建 Google Ad Manager 帐户

1. 要通过 Unity LevelPlay 的聚合访问 Google Ad Manager 广告库存，请[创建 Ad Manager 帐户](https://admanager.google.com/home/)。
2. 为了使用 Google AdSense Manager 进行变现，需要创建 Google AdSense 帐户
3. 将 AdSense 帐户连接到 Ad Manager 帐户

## 步骤 2.在 Google Ad Manager 中创建清单

1. 可在[此处](https://support.google.com/admanager/answer/6238692?hl=en)找到 Google AdManager 指南
2. 订单：
   1. 至少添加一个订单
   2. 将 AdSense 作为广告主连接到订单
3. 行项目
   1. 为要变现的每个广告单元添加一个广告系列 (Line Item)（Int/RV/BN/NTV BN）
   2. 选择视频行项目
   3. 商品类型 = 广告交换
4. Apps（应用）
   1. 应用程序应从 Admob 帐户自动添加
   2. 否则，请创建一个新应用程序（Inventory > Apps > 添加 app）
5. 广告单元
   1. 为每个价格点添加广告单元

## 步骤 3.在您的 LevelPlay 帐户中激活 **Google Ad Manager**

在 LevelPlay SDK Networks Setup 页面上设置 Ad Manager 时，请登录 Google 帐户。这将确保自动获取运行 Ad Manager 插页、奖励广告服务和横幅广告的所有必要参数。

1. 在 Google Ad Manager 帐户中，获取以下信息： 

| App ID（应用 ID）     | Ad Manager（广告管理器）后台上分配给 app 的唯一 ID                                               |
| ----------------- | -------------------------------------------------------------------------------- |
| API 密钥            | Ad Manager 帐户的唯一标识符。这允许 Unity LevelPlay Mediation 从 Ad Manager 帐户导入性能数据，以用于报告和优化 |
| 广告单元 ID           | Ad Manager（广告管理器）后台上分配给 app 广告单元的唯一 ID                                           |
| Client ID（客户端 ID） | 指定帐户与广告单元之间关系的唯一标识符                                                              |
| 客户端密钥             | 与客户端 ID 配对的密钥                                                                    |
| 刷新令牌              | 客户端应用程序已收到的刷新令牌                                                                  |

2. 在 LevelPlay 帐户中配置 Google Ad Manager 的参数。

* 登录您的 ironSource 帐户，然后转到 **Monetize** > **SETUP** > **SDK Networks**。

![SDK 网络](/api/media?file=/grow/media/images/Level-Play-SDK.jpg)

* 从 **Available Networks** 列表中选择 Google Ad Manager，然后输入 Ad Manager 的 **API Key**、**客户端** **ID**、**客户端 Secret** 和 **Refresh Token**；或选择 **Login with Google** 选项。

![登录凭据](/api/media?file=/grow/media/images/1-1.png)

![使用 Google 登录](/api/media?file=/grow/media/images/2.png)

* 选择 **Save（保存）**。Ad Manager 将已启用并列在 **Available Ad Networks** 表中。
* 从广告网络的设置列表中选择 Ad Manager，然后选择 Tool **Define** 按钮。在 **interstitial**、**rewarded** 或 **banner 设置**下插入 **app ID** 和 **Ad Unit** **ID**。
  ![app and Ad Unit configuration](/api/media?file=/grow/media/images/4.png)（应用和广告单元配置）- 验证与 Reporting API 的集成。此列将通过 Reporting API 检查您的集成情况，并返回三种可能的响应：Verified、Failed 和 No Response。如果您没有看到 **Verified，请**仔细检查您的集成和您输入的信息，然后选择 **Retry**，直到看到 **Verified**。

## 步骤 4.将 Admob Adapter 添加到构建中##step-4.-add-the-admob-adapter-to-your-build

从 V17.0.0 \*\*（适配器版本 4.3.1 以上）\*\*开始，AdMob 的 SDK 要求发布者将其 AdMob app ID 添加到 app 的 AndroidManifest 中，作为 `<application/>`tag 的子项：

```xml
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" 
           android:value="[ADMOB_APP_ID]"/>
```

将“ADMOB\_app\_ID”替换为您在步骤 3 中检索的 app ID 值。

1. 确保在 allprojects > Repositories 代码块中包含以下行

   ```groovy
   allprojects {
       repositories {
          flatDir {
              dirs 'libs'
          }
          google()
       }
   }
   ```

2. 将以下依赖项添加到 dependencies 代码块中

   ```groovy
   dependencies {
       实现 fileTree(dir: 'libs', include: ['*.jar'])
   }
   ```

LevelPlay SDK 支持 Gradle 依赖关系和手动下载机制。

要将 Admob Adapter 与 Gradle 集成，请执行以下操作：

1. 确保在 app 模块的构建.gradle 脚本中存在以下 Maven 网址（所有适配器只能出现一次）。

   ```groovy
   repositories {
       google()
       mavenCentral()
   }
   ```

2. 将适配器的 Maven 名称添加到 app 模块的构建.gradle 脚本：

   ```groovy
   dependencies {
      implementation 'com.unity3d.ads-mediation:admob-adapter:5.11.0'
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1'
   }
   ```

要通过手动下载集成 Admob 适配器，请执行以下操作：

1. \*\*下载 Admob Adapter：\*\*将 Admob Adapter 添加到构建中。您可以在[此处](/grow/levelplay/sdk/android/mediation-networks.md)找到最新的 Admob 适配器。**重要信息！**Admob 适配器不包含 Admob SDK。还**需要**直接添加 Admob SDK。

2. \*\*将 Admob Adapter 添加到项目中：\*\*下载适配器后，将 Admob Adapter jar 放入 Android 项目的 **libs** 文件夹。

   ![将适配器 JAR 文件拖放到 Android 项目的 libs 文件夹中。](/api/media?file=/grow/media/images/Supersonic-Mediation-Drop-Libs.png)

3. 确保在 Gradle 构建文件的 **dependencies 部分**下添加以下内容：
   ```groovy
   dependencies {
      implementation 'com.unity3d.ads-mediation:admob-adapter:5.11.0'
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1'
   }
   ```

## 步骤 5。更新 AndroidManifest.xml##step-5.-update-androidmanifest.xml

从 LevelPlay Android SDK 版本 6.17.0（AdMob Android 适配器版本 4.3.10+）开始，AdMob 适配器将以 AAR 形式发布。如果您打算保持 Jar 集成，请添加清单。

**清单权限：**

```xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
```

**清单活动：**在**清单**上的 `<application>` 标签中添加以下活动：

```xml
<activity android:name="com.google.android.gms.ads.AdActivity"
Android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" Android:theme="@android:style/Theme.Translucent" />
```

从 V17.0.0 \*\*（适配器版本 4.3.1 以上）\*\*开始，AdMob 的 SDK 要求发布者将其 AdMob app ID 作为 `<application></application>` 标签的子项添加到 app 的 AndroidManifest：

```xml
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
           android:value="[ADMOB_APP_ID]"/>
```

## 步骤 6。其他步骤##step-6.-additional-steps

### 面向子项的设置 - COPPA##child-directed-setting---coppa

Unity LevelPlay 的聚合功能允许发布者将 AdMob Child 定向设置直接传递给 AdMob 网络。此功能是使用 LevelPlay SDK 6.14.0+、AdMob Android 适配器 4.3.9+ 已启用的。

使用以下语法，使用参数 TAG\_FOR\_CHILD\_DIRECTED\_TREATMENT\_TRUE 设置 AdMob **setTagForChildDirectedTreatment**：

```java
LevelPlay.setMetaData("AdMob\_TFCD","true");
```

使用以下语法，使用参数 TAG\_FOR\_CHILD\_DIRECTED\_TREATMENT\_FALSE 设置 AdMob **setTagForChildDirectedTreatment**：

```java
LevelPlay.setMetaData("AdMob_TFCD","false");
```

要了解有关 AdMob 网络下面向儿童的设置的更多信息，请访问[此处](https://developers.google.com/admob/android/targeting#child-directed_setting)。

### 未满同意年龄的用户 - GDPR##users-under-the-age-of-consent---gdpr

Unity LevelPlay 的聚合功能允许发布者与 AdMob 网络进行通信，AdMob 网络是 Tag For Users under the Age of Consent in Europe (TFUA) 请求。此功能是使用 LevelPlay SDK 6.14.0+、AdMob Android 适配器 4.3.9+ 已启用的。

使用以下语法使用 TAG\_FOR\_Under\_AGE\_OF\_CONSENT\_TRUE 设置 **setTagForUnderAgeOfConsent**：

```java
LevelPlay.setMetaData("AdMob_TFUA","true");
```

使用以下语法使用 TAG\_FOR\_Under\_AGE\_OF\_CONSENT\_FALSE 设置 **setTagForUnderAgeOfConsent**：

```java
LevelPlay.setMetaData("AdMob_TFUA","false");
```

要了解有关 AdMob 网络下面向儿童的设置的更多信息，请访问[此处](https://developers.google.com/admob/android/targeting#users_under_the_age_of_consent)。

### 广告内容过滤##ad-content-filtering

Unity LevelPlay 的聚合功能允许发布者与 AdMob 网络通信，为所有广告请求提供最高广告内容评级。此功能是使用 LevelPlay SDK 7.12.0+、AdMob Android 适配器 4.3.23+ 已启用的。

使用以下语法设置 maxAdContentRating：

```java
LevelPlay.setMetaData("AdMob_MaxContentRating","MAX_AD_CONTENT_RATING_G");
```

此属性的可能值基于 Google 定义的数字内容标签分类：

* MAX\_AD\_CONTENT\_RATING\_G
* MAX\_AD\_CONTENT\_RATING\_PG
* MAX\_AD\_CONTENT\_RATING\_T
* MAX\_AD\_CONTENT\_RATING\_MA

要了解有关 AdMob 网络下的 Ad Content Rating 属性的更多信息，请访问[此处](https://developers.google.com/admob/android/targeting#ad_content_filtering)。

### 内容网址映射支持##content-url-mapping-support

Unity LevelPlay 支持 Google 的应用程序内容映射，并允许使用“Google\_Content\_Mapping”设置共享 URL。此功能是使用 LevelPlay SDK 7.7.0+、AdMob Adapter 4.3.41+ 已启用的。在[此处](https://support.google.com/admob/answer/11050896)了解有关 Google 内容映射的更多信息。

要通道单内容网址，请使用以下语法：

```java
LevelPlay.setMetaData("Google_Content_Mapping ","https://www.example.com");
```

要支持多个 URL，请使用相同的密钥并共享最多 4 个 URL：

```java
LevelPlay.setMetaData("Google_Content_Mapping",["https://www.example.com","https://www.example2.com"]);
```

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

要验证 LevelPlay SDK 和其他广告网络的集成情况，请遵循本[文档](/grow/levelplay/sdk/android/integration-helper.md)。

## 后续步骤##next-steps

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