# InMobi 集成

> 通过创建帐户、添加 app 和设置广告位，将 InMobi 集成为 Unity LevelPlay 上的广告网络。

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

本指南将逐步说明如何在 Unity LevelPlay Mediation 中将 InMobi Live 设置为广告网络。

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

## 先决条件##prerequisites

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

**Rewarded ads integration:**

* [Unity](/grow/levelplay/sdk/unity/rewarded-ad-integration-package.md)
* [Android](/grow/levelplay/sdk/android/rewarded-ads-integration.md)
* [iOS](/grow/levelplay/sdk/ios/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:**

* [Unity](/grow/levelplay/sdk/unity/interstitial-integration.md)
* [Android](/grow/levelplay/sdk/android/interstitial-integration.md)
* [iOS](/grow/levelplay/sdk/ios/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:**

* [Unity](/grow/levelplay/sdk/unity/banner-integration.md)
* [Android](/grow/levelplay/sdk/android/banner-integration.md)
* [iOS](/grow/levelplay/sdk/ios/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)

如果要为 Android 构appp程序，请注意，所需的 Gradle 构建具为 3.5.4+

## 步骤 1.创建 InMobi 帐户

1. 使用 InMobi 创建帐户。您可以在[此处](https://publisher.inmobi.com/signup)执行此操作。
2. 在验证您的帐户后，您可以在[此处](https://login.microsoftonline.com/99b97e0e-6a13-4d32-b39a-1a2a28aa6ba8/oauth2/v2.0/authorize?redirect_uri=https%3A%2F%2Fpublisher.inmobi.com%2Fauth%2Fopenid%2Freturn\&client_id=f464a21e-8c1a-4717-aa29-86f89624762d\&scope=openid+profile\&response_type=id_token\&response_mode=form_post\&nonce=8f4vUXm084)登录他们的合作伙伴。

## 步骤 2.在 InMobi 中创建应用程序和放置/位置

要在 InMobi 上配置应用程序，请完成以下步骤：

1. 创建应用程序

   1. 登录后，您将立即看到“**添加库存**”选项。您可以在 AppStore 或 Google 播放 中输入app的 网址。

![添加清单选项](/api/media?file=/grow/media/images/Screen-Shot-2022-02-16-at-21.55.34.png)

2. 或者，如果 app 尚未上线，请选择 \*\*Link? 手动？\*\*然后，您可以手动输入应用程序的名称并选择其平台。
3. 选中 复选框：
   1. 如果您的 app 专门针对 16 岁以下的子项。
   2. 如果允许 inmobi 使用设备位置 - Location Permission。

![位置权限设置](/api/media?file=/grow/media/images/Screen-Shot-2022-02-17-at-9.54.27.png)
4.完成后，选择 **保存并创建放置**/位置。您需要每个平台（iOS Android）都有一个唯一的 InMobi 应用程序，就像您使用 Ironsource 帐户一样。
2.创建放置/位置

创建应用程序后，必须创建放置/位置。广告位是 InMobi 将向其投放指定的广告类型的位置。这将是在应用中配置 LevelPlay SDK 奖励广告服务或 Interstitial 以触发的放置/位置。

1. 从支持的选项中选择此放置/位置的广告单元：
   1. 间隙
   2. 奖励
   3. banner
2. 选择广告单元后，选择 **Create放置/位置**
3. 为您的放置/位置命名并完成放置/位置创建
   ![创建放置/位置](/api/media?file=/grow/media/images/Screen-Shot-2022-02-16-at-21.56.44.png)

## 步骤 3.在 LevelPlay 网络设置模块中激活 InMobi

InMobi 帐户中有 5 条数据需要输入到 ironSource LevelPlay 网络设置模块中，以便 InMobi 能够与 ironSource LevelPlay 正常工作：

| **用户名**          | 这是用于登录 InMobi 帐户的用户名。这是 ironSource 访问帐户的 InMobi 报告 API 所必需的，允许 Unity LevelPlay Mediation 从 InMobi 帐户导入性能数据以用于报告和优化。 |
| ---------------- | ------------------------------------------------------------------------------------------------------------------- |
| **密码**           | 这是用于登录 InMobi 帐户的密码。此信息以及用户名是必需的，以便 ironSource 访问帐户的报告信息。                                                           |
| **API 密钥**       | 这是用于验证报告信息请求的唯一密钥。                                                                                                  |
| **帐户 ID**        | 这是 InMobi 帐户的唯一标识符。                                                                                                 |
| **Placement ID** | 这是 InMobi 将广告服务投放到的唯一放置/位置。                                                                                         |

获取此信息后，必须**在 LevelPlay 帐户**中**配置 InMobi 的参数** 正确添加上述参数后，您将能够充分利用 InMobi 的广告库存和关于 Unity LevelPlay Mediation 的报告数据。

1. 用户名

   这是用于日志 InMobi 帐户的用户名。

2. 密码

   这是用于日志 InMobi 帐户的密码。

3. API 密钥

   这是用于验证报告信息请求的唯一密钥。要接收此信息，请转到管理面板右上角的下拉选单箭头 > 选择帐户设置 > 选择 'API Key' > 按 'Generate Key'。
   ![生成 API 密钥](/api/media?file=/grow/media/images/Screen-Shot-2022-02-16-at-21.59.50.png)

4. 帐户 ID

   这是 InMobi 帐户的唯一标识符。要找到此参数，请选择管理面板左上角的名称图标。然后，您将看到您的**帐户 ID** 已列出：
   ![帐户 ID 位置](/api/media?file=/grow/media/images/Screen-Shot-2022-02-17-at-9.44.24.png)

5. 放置/位置 ID

   要查找应用程序**放置/位置 ID**，请从左侧导航菜单中选择 **Inventory > inventory list** > 从列表中选择相关 app > 选择广告单元 > 选择此 app 的相关放置/位置的名称。复制**放置/位置 ID**。
   ![放置/位置 ID 位置](/api/media?file=/grow/media/images/Screen-Shot-2022-02-16-at-21.58.49.png)

## 将 InMobi 的参数配置为 LevelPlay 帐户

获取上述参数后，日志 LevelPlay 帐户。

* 转到 **Mediation** > ‘**Setup**’ > ‘ **SDK Networks**’。
* 从表中选择 InMobi ****Available Ad Networks。****

![选择 InMobi](/api/media?file=/grow/media/images/Screenshot-2024-05-29-at-17.44.41.png)

* 在相关字段中输入您的 InMobi **用户名**、**密码**、**API 密钥**和**帐户 ID**。

![输入凭据](/api/media?file=/grow/media/images/ironSource-platform-Account-Settings-inMobi.jpg)

* 选择要使用 InMobi 运行 Unity LevelPlay Mediation 的app程序。

![选择 app](/api/media?file=/grow/media/images/Screenshot-2024-05-29-at-17.47.04.png)

* 从 Ad Networks 的设置列表中向下滚动到 InMobi，然后选择 **Define** 图标。在奖励广告服务、插页式或横幅设置下输入**放置/位置 ID**。将 status 设置为 **激活** 并选择 **保存**。

![定义放置/位置](/api/media?file=/grow/media/images/Screenshot-2024-05-29-at-17.48.08.png)

* 然后，您将在 Setup Dashboard（设置后台）上看到 InMobi 为 **Active** for Mediation（激活聚合）。
* 验证与 Reporting API 的集成；此列将通过 Reporting API 检查您的集成，并返回三种可能的响应：Verified、Failed 和 No Response。仔细检查您的集成和上面输入的信息；然后选择“Retry”，直到看到“Verified”。

## 步骤 4.将 InMobi 适配器添加到构建中##step-4.-add-the-inmobiadapter-to-your-build

### Unity Integration Manager（推荐）##unity-integration-manager-(recommended)

完成 SDK 集成后，可使用 Unity Integration Manager 下载 InMobi 适配器。

在 Unity 开发平台中，转到 **LevelPlay > Integration Manager**。

如果您已经拥有最新版本的适配器，则**操作**按钮将更改为 " Updated " 并已禁用。

### Android（手动解析）##android-(manual-resolve)

要应用更改，请确保使用“Resolve”过程。这将根据您的选择下载所有相关工件。有关详细信息，请参阅[此处](/grow/levelplay/sdk/unity/package-integration.md)的说明。 

#### 仅适用于 Proguard 用户（Android）##for-proguard-users-only-(android)

如果将 ProGuard 与 InMobi 适配器结合使用，必须将以下代码添加 ProGuard 配置中：

```java
-keepattributes SourceFile、LineNumberTable
-keep class com.inmobi.** { *; }
- 保留 public 类 com.google.android.gms。**
-dontwarn com.google.android.gms.**
-dontwarn com.squareup.picasso.**
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{ *; }
     public *;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{
     public *;
}
# skip the Picasso library classes##skip-the-picasso-library-classes
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.okhttp.**
# skip Moat classes##skip-moat-classes
-keep class com.moat.** { *; }
-dontwarn com.moat。**
# skip IAB classes##skip-iab-classes
-keep class com.iab.** { *; }
-dontwarn com.iab。**
# skip Kotlin property metadata##skip-kotlin-property-metadata
-keep 类 kotlin.Metadata { *; }
```

#### Android 插件手册集成##android-plugin-manual-integration

1. 下载 InMobi Android 适配器

   从[此处](/grow/levelplay/sdk/android/mediation-networks.md)下载适配器和 SDK。

2. 将 InMobi 文件添加到 Unity 项目

   将文件导入 `Assets/Plugins/Android/`。

3. 添加所需的依赖项

   ```groovy
   dependencies {
       implementation 'com.unity3d.ads-mediation:inmobi-adapter:5.3.0'
       implementation 'com.inmobi.monetization:inmobi-ads-kotlin:11.1.0'
   }
   ```

4. 添加 InMobi 清单 – 仅适用于 JAR 集成

   InMobi SDK 作为 AAR 文件发布。仅当使用 JAR 集成时，才确保添加 [InMobi Android 文档](/grow/levelplay/sdk/android/networks/guides/inmobi.md)中定义的 Manifest.xml。

> **Note:**
>
> InMobi 需要 Google 播放服务 8.4.0+。

#### iOS##ios

#### 集成 InMobi SDK 10.7.2+、适配器版本 4.3.28+##integrating-inmobi-sdk-10.7.2+-adapter-version-4.3.28+

InMobi XCFramework 需要“内嵌 & Sign”。

#### iOS 插件手动集成##ios-plugin-manual-integration

1. 下载 InMobi iOS 适配器

   请参阅 [iOS 调解网络](/grow/levelplay/sdk/ios/mediation-networks.md)。

2. 将 InMobi 文件添加到 Unity 项目

   将适配器文件导入 `Assets/Plugins/iOS`。

## 步骤 5。InMobi 其他设置##step-5.-inmobi-additional-settings

### 用户级别年龄受限用户##user-level-age-restricted-user

Unity LevelPlay 聚合允许发布者将 InMobi 的 IsAgeRestricted 设置直接传达给 InMobi 网络。此功能是使用 LevelPlay SDK 7.2.1+、InMobi Android 适配器 4.3.17 + 已启用的。

使用以下语法设置参数为 True 的 InMobi setIsAgeRestricted 标志：

```cs
LevelPlay.SetMetaData("InMobi_AgeRestricted","true");
```

使用以下语法，使用参数 False 设置 InMobi setIsAgeRestricted 标志：

```cs
LevelPlay.SetMetaData("InMobi_AgeRestricted","false");
```

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

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

  ```text
  LevelPlay.SetAdaptersDebug(true);
  ```

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

现在，您已准备好通过 Unity LevelPlay Mediation 提供 InMobi 广告服务。

## 后续步骤##next-steps

要通过 Unity LevelPlay Mediation 利用其他广告网络，请集成适配器并按照我们的集成指南进行操作。

**Platform adapters:**

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