# InMobi 통합

> InMobi 계정을 생성하고, 플레이스먼트를 설정, 프로젝트에 InMobi 어댑터.

> **Important:**
>
> 다음 기술 자료는 Unity가 개발하거나, 소유하거나, 운영하지 않는 제품 또는 서비스('타사 제품')에 관한 내용입니다.
> 이 정보는 오래되었거나 불완전할 수 있으며 편의를 위해 제공됩니다.
> 타사 제품을 사용하는 경우 해당 제품의 약관이 적용됩니다.
> Unity는 이러한 제품에 대해 어떠한 보증도 하지 않으며, 타사 제공자의 콘텐츠, 광고 또는 머티리얼과 관련된 문제를 포함하여 제품 사용으로 인한 손해나 손실에 대해서도 책임지지 않습니다.

이 가이드는 Unity 레벨플레이 Mediation InMobi Live를 광고 네트워크로 설정하는 방법을 단계별로 설명합니다.

> **Note:**
>
> 이 Mediation 네트워크의 어댑터 변경 기록을 보려면 [Android용 Mediation 네트워크](/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)
  * [Banner](/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. 로그인하면 바로 '**인벤토리 추가**' 옵션이 표시됩니다. AppStore 또는 Google Play에서 앱 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\. 완료되면 **저장 을 선택하고 플레이스먼트를 생성**합니다. Ironsource 계정과 마찬가지로 플랫폼별로 고유한 InMobi 애플리케이션(iOS + Android)이 필요합니다.
2\. 플레이스먼트 생성

애플리케이션 생성한 후에는 플레이스먼트를 생성해야 합니다. 플레이스먼트는 InMobi가 특정 광고 유형을 제공하는 위치입니다. 레벨플레이 SDK 보상형 광고 광고나 인터스티셜 광고 광고를 트리거하도록 설정한 앱의 플레이스먼트입니다.

1. 지원되는 옵션 중에서 이 플레이스먼트의 광고 유닛을 선택합니다.
   1. 인터스티셜 광고
   2. 보상형 광고
   3. 배너
2. 광고 유닛을 선택한 후 **플레이스먼트 만들기**를 선택합니다.
3. 플레이스먼트 이름을 지정하고 플레이스먼트 생성을 완료합니다.
   ![플레이스먼트 만들기](/api/media?file=/grow/media/images/Screen-Shot-2022-02-16-at-21.56.44.png)

## 3단계. 레벨플레이 네트워크 설정 모듈에서 InMobi 활성화

InMobi 계정의 5가지 데이터는 아이언소스 레벨플레이레벨플레이 네트워크 설정 모듈에 입력 합니다.

| **사용자 이름**    | InMobi 계정에 로그인하는 데 사용하는 사용자 이름입니다. 이는 Ironsource 계정의 InMobi 보고 API 액세스, 접근 필요합니다. 이 API를 사용하면 Unity 레벨플레이 Mediation InMobi 계정에서 성능 데이터를 임포트 리포트 및 최적화에 사용할 수 있습니다. |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Password**  | InMobi 계정에 로그인하는 데 사용하는 비밀번호입니다. Ironsource 계정의 보고 정보에 액세스, 접근 사용자 이름과 함께 사용해야 합니다.                                                                                |
| **API 키**     | 이는 리포트 정보에 대한 요청을 확인하는 고유한 키입니다.                                                                                                                                   |
| **계정 ID**     | InMobi 계정의 고유 식별자.                                                                                                                                                 |
| **플레이스먼트 ID** | InMobi에서 광고를 게재할 수 있는 고유 플레이스먼트입니다.                                                                                                                                |

이 정보를 얻으면 **LevelPlay 계정에서** **InMobi의 파라미터를 설정해야** 합니다. 위 파라미터를 올바르게 추가하면 InMobi의 Unity 레벨플레이 Mediation 광고 인벤토리와 보고 데이터를 최대한 활용할 수 있습니다.

1. 사용자 이름

   InMobi 계정에 로그인하는 데 사용하는 사용자 이름입니다.

2. Password

   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 list**를 선택합니다. > 목록에서 관련 앱을 선택합니다. > 광고 유닛을 선택합니다. > 이 앱의 관련 플레이스먼트 이름을 선택합니다. **플레이스먼트 ID**를 복사합니다.
   ![플레이스먼트 ID 위치](/api/media?file=/grow/media/images/Screen-Shot-2022-02-16-at-21.58.49.png)

## 레벨플레이 계정에 InMobi의 파라미터 설정

위 파라미터를 얻은 후 레벨플레이 계정에 로그인합니다.

* '**Mediation**' > '**설정**' > '**SDK Networks**'로 이동합니다.
* ****사용 가능한 광고 네트워크 표에서 InMobi를 선택합니다.****

![Select 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 레벨플레이 Mediation 실행할 앱을 선택합니다.

![앱 선택](/api/media?file=/grow/media/images/Screenshot-2024-05-29-at-17.47.04.png)

* 광고 네트워크 설정 목록에서 InMobi로 스크롤하여 **정의** 아이콘을 선택합니다. 보상형 광고, 인터스티셜 광고 또는 배너 설정 아래에 있는 **플레이스먼트 ID**를 입력합니다. 상태를 **Active**로 설정하고 **Save**를 선택합니다.

![배치 정의](/api/media?file=/grow/media/images/Screenshot-2024-05-29-at-17.48.08.png)

* 그러면 설정 대시보드에서 InMobi가 Mediation을 위한 **액티브**로 표시됩니다.
* 리포트 API 연동을 확인합니다. 이 열은 리포트 API 통해 연동을 확인하고 가능한 3가지 응답을 반환합니다. 확인함, 실패함, 응답 없음 통합과 위에 입력한 정보를 다시 확인한 다음 '재시도'를 선택하면 '검증'이 표시됩니다.

## 4단계. 빌드 InMobi 어댑터 추가하기##step-4.-add-the-inmobiadapter-to-your-build

### Android##android

레벨플레이 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 어댑터 추가합니다. 어댑터를 다운로드한 후 Android 프로젝트의 **libs** 폴더에 **InMobiAdapter 및 InMobi SDK를** 드롭합니다.

   ![Android 프로젝트의 libs 폴더에 InMobi 어댑터를 놓습니다.](/api/media?file=/grow/media/images/Supersonic-Mediation-Drop-Libs.png)

3. Gradle 빌드 파일의 **종속성** 섹션 아래에 다음을 추가합니다.

```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|방향, 방향 설정 |키보드 |smallestScreenSize|screenSize|screenLayout|로케일 |fontScale|uiMode"
    android:hardwareAccelerated="true"
    android:theme="@android:style/Theme.NoTitleBar"
    tools:ignore="UnusedAttribute" />
```

### ProGuard 사용자 전용##for-proguard-users-only

ProGuard를 InMobi 어댑터 함께 사용하는 경우 다음 코드를 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 레벨플레이 Mediation 사용하면 퍼블리셔가 InMobi의 IsAgeRestricted 설정을 InMobi 네트워크에 직접 전달할 수 있습니다. 이 기능은 레벨플레이 SDK 7.2.1 이상의 InMobi Android 어댑터 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)에서 광고 네트워크 통합을 확인하십시오. 레벨플레이 SDK는 SDK와 추가 네트워크 어댑터를 성공적으로 연동했는지 확인하는 툴을 제공합니다.

* 이 부울을 사용하여 통합 Mediation 광고 네트워크의 디버그 로그를 관리합니다.

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

* **TRUE**로 설정하면 이 코드 라인은 디버그 로그를 활성화하고, 사용 가능하여 모든 Mediation 광고 네트워크의 문제 해결을 지원합니다. 앱이 광고 유닛으로 게재되기 전에 이 코드를 제거합니다. SDK 버전 6.5.2 이상에서 지원됩니다.

이제 Unity 레벨플레이 Mediation 통해 InMobi Ads를 게재할 수 있습니다.

## 다음 단계##next-steps

Unity 레벨플레이 통해 추가 광고 네트워크를 활용하려면 어댑터를 연동하고 Unity 연동 가이드를 따르십시오.

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