# InMobi インテグレーション

> InMobi アカウントの作成、プレースメントの設定、InMobi アダプタのプロジェクトへの追加によって、InMobi を Unity LevelPlay と統合します。

> **Important:**
>
> 以下のドキュメントでは、Unity が開発、所有、または運用するものではない製品またはサービス ("サードパーティ製品") を取り上げます。
> その情報は、古かったり、不完全であったりする可能性がありますが、利便性のために提供しています。
> サードパーティ製品を使用する際は、その製品の規約に従うものとします。
> Unity はそれらの製品に関して一切保証を行わず、その使用によって生じた損害や損失 (サードパーティプロバイダーのコンテンツ、広告、製品、資料に関する問題を含む) について責任を負いません。

このガイドでは、Unity LevelPlay Mediation で InMobi を広告ネットワークとして稼働させる方法をステップごとに説明します。

> **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)

* 必要な 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. ログインすると、すぐに「**Add inventory**(インベントリの追加)」オプションが表示されます。AppStore または Google 再生でアプリケーションの URL を入力できます。

![インベントリオプションの追加](/api/media?file=/grow/media/images/Screen-Shot-2022-02-16-at-21.55.34.png)

2. または、アプリケーションがまだ稼働していない場合は、**Link manually?** (手動でリンクしますか) を選択しますアプリケーション名を手動で入力し、プラットフォームを選択できます。
3. チェックボックスをオンにします。
   1. アプリケーションが特に 16 歳未満の子を対象としている場合。
   2. inmobi でデバイスの位置 - 場所のパーミッションの使用を許可した場合

![ロケーションのアクセス権設定](/api/media?file=/grow/media/images/Screen-Shot-2022-02-17-at-9.54.27.png)
4\. 完了したら、**Save and create 配置**を選択します。ironsource アカウントの場合と同様に、プラットフォーム(iOS + Android)ごとに一意の InMobi アプリケーションが必要です。
2\. 配置の作成

アプリケーションを作成したら、配置を作成する必要があります。プレースメントは、InMobi が特定の広告タイプを配信する場所です。これは、LevelPlay SDK リワード広告またはインタースティシャルをトリガーするように設定したアプリケーション内の配置です。

1. この配置の広告単位を、サポートされているオプションから選択します。
   1. インタースティシャル
   2. リワード型
   3. バナー
2. 広告単位を選択したら、**Create placement** (配置の作成) を選択します。
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 アカウントの一意の識別子です。                                                                                                                                                   |
| **プレースメント ID** | これは、InMobi が広告を配信する一意の配置です。                                                                                                                                                  |

この情報を取得したら、**LevelPlay アカウントに** **InMobi のパラメータ** 上記のパラメータを正しく追加することで、Unity LevelPlay Mediation に関する InMobi の広告インベントリとレポート データを最大限に活用できるようになります。

1. ユーザー名

   これは、InMobi アカウントへのログインに使用するユーザ名です。

2. パスワード

   InMobi アカウントにログインするときに使用するパスワードです。

3. APIキー

   これは、レポート情報に対して行われたリクエストを検証するための一意のキーです。この情報を受け取るには、管理パネルの右上にあるドロップダウン矢印に移動し、アカウント設定>APIキーを選択し、キーの生成を押します。
   ![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 リスト**> リストから関連アプリケーションを選択> 広告単位を選択> このアプリケーションの関連配置の名前を選択します。**配置 ID** をコピーします。
   ![配置 ID の場所](/api/media?file=/grow/media/images/Screen-Shot-2022-02-16-at-21.58.49.png)

## LevelPlay アカウントへの InMobi のパラメータの設定

上記のパラメータを取得したら、LevelPlay アカウントにログインします。

* **Mediation** の「」>「**設定**」>「**SDK Networks**」に移動します。
* ［Available Ad Networks］ のテーブルから ［InMobi］ を選択します\*\*\*\*。\*\*\*\*

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

* 関連するフィールドに InMobi の**ユーザー名** 、 **パスワード** 、 **API キー** 、**アカウント ID** を入力します。

![Enter credentials](/api/media?file=/grow/media/images/ironSource-platform-Account-Settings-inMobi.jpg)

* InMobi で Unity LevelPlay Mediation を実行するアプリケーションを選択します。

![アプリケーション選択](/api/media?file=/grow/media/images/Screenshot-2024-05-29-at-17.47.04.png)

* Ad Networksの設定リストからInMobiにスクロール ダウンし、**定義**アイコンを選択します。リワード広告、インタースティシャル、またはバナー設定の下の**配置ID**を入力します。状態を **Active** に設定し、**Save** を選択します。

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

* 設定ダッシュボードで InMobi がメディエーションに対して**アクティブ**と表示されます。
* Reporting API とのインテグレーションを確認します。この列では、Reporting API を通じたインテグレーションを確認し、次の 3 つの応答を返します。検証済み、失敗、無反応。インテグレーションと上で入力した情報を再確認し、「Verified」が表示されるまで「Retry」を選択します。

## ステップ 4. ビルドへの InMobi アダプタの追加##step-4.-add-the-inmobiadapter-to-your-build

### Android##android

LevelPlay SDK は Gradle の依存関係と手動ダウンロードメカニズムの両方をサポートします。

#### Gradle##gradle

1. アプリケーションモジュールの ビルド.gradle スクリプトに以下の Maven URL があることを確認します。

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

2. アダプターの Maven 名をアプリケーションモジュールの ビルド.gradle スクリプトに追加します。

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

#### 手動ダウンロード##manual-download

1. InMobi アダプターをダウンロードします。InMobi アダプタと SDK をビルドに追加します。関連ファイルは[ここ](/grow/levelplay/sdk/android/mediation-networks.md)にあります。

2. InMobi アダプターをプロジェクトに追加します。アダプタをダウンロードしたら、**InMobiAdapter と InMobi SDK** を Android プロジェクトの **libs** フォルダーにドロップします。

   ![Android プロジェクトの libs フォルダーに InMobi アダプタをドロップします。](/api/media?file=/grow/media/images/Supersonic-Mediation-Drop-Libs.png)

3. Gradle ビルドファイルの **dependencies** セクションの下に以下を追加します。

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

## ステップ 5.AndroidManifest.xml 更新##step-5.-update-androidmanifest.xml

InMobi Android アダプタ バージョン 4.3.4 以降(Android SDK バージョン 6.17.0)では、InMobi アダプタは AAR としてリリースされます。JAR インテグレーションを維持する場合は、マニフェストを追加します。

### マニフェスト権限 (任意)##manifest-permissions-(optional)

以下のアクセス権を**マニフェスト**タグ内、ただし `<application>` タグの外に追加します。

```xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<queries>
    <intent>
        <action android:name="android.support.customtabs.action.CustomTabsService" />
    </intent>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="https" />
    </intent>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="http" />
    </intent>
</queries>
```

#### マニフェストアクティビティ##manifest-activities

**マニフェスト**の `<application>` タグ内に以下のアクティビティーを追加します。

```xml
<activity
    android:name="com.inmobi.ads.rendering.InMobiAdActivity"
    Android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize|screenLayout|locale|fontScale|uiMode"
    android:hardwareAccelerated="true"
    android:theme="@android:style/Theme.NoTitleBar"
    tools:ignore="UnusedAttribute" />
```

### ProGuard ユーザーのみ##for-proguard-users-only

InMobi アダプタで ProGuard を使用する場合は、ProGuard 設定に以下のコードを追加する必要があります（Android Studio： proguard-rules.Pro または Eclipse： proguard-project.txt）。

```java
-keepattributes SourceFile,LineNumberTable
-keep class com.inmobi.** { *; }
-dontwarn com.inmobi.**
-keep public class 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.picasso.**
-dontwarn com.squareup.okhttp.**
# skip Moat classes##skip-moat-classes
-keep class com.moat.** {*;}
-dontwarn com.moat.**
# skip AVID classes##skip-avid-classes
-keep class com.integralads.avid.library.* {*;}
```

## ステップ 6.InMobi の追加設定##step-6.-inmobi-additional-settings

### ユーザーレベルの年齢制限ユーザー##user-level-age-restricted-user

Unity LevelPlay メディエーションを使用すると、パブリッシャーは InMobi の IsAgeRestricted 設定を InMobi ネットワークに直接通信できます。この特徴は LevelPlay SDK 7.2.1 以降、InMobi Android Adapter 4.3.14 以降を使用して有効化されます。

以下の構文を使用して、InMobi setIsAgeRestricted フラグを true に設定します。

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

以下の構文を使用して、InMobi setIsAgeRestricted フラグを false に設定します。

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

## 広告ネットワークインテグレーションの評価##evaluate-your-ad-network-integration

* [インテグレーションヘルパー](/grow/levelplay/sdk/android/integration-helper.md)を使用して広告ネットワークのインテグレーションを確認します。LevelPlay SDK は、SDK と追加のネットワークアダプタを正常に統合するためのツールを提供します。

* このブーリアンを使用して統合メディエーション広告ネットワークのデバッグを管理する

  ```java
  LevelPlay.setAdaptersDebug(true);
  ```

* **true**に設定すると、このコード行でデバッグログが有効になり、すべてのメディエーション広告ネットワークに関する問題のトラブルシューティングに役立ちます。アプリケーションを広告ユニットで稼働させる前に、このコードを削除してください。SDK バージョン 6.5.2 以降でサポートされます。

Unity LevelPlay Mediation を通じて InMobi Ads を配信できるようになりました。

## 次のステップ##next-steps

Unity LevelPlay を通じて追加の広告ネットワークを活用するには、アダプタを統合し、インテグレーションガイドに従います。

**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 ネイティブ](/grow/levelplay/sdk/react/mediation-networks.md)
