# Unity Ads 연동

> Unity Ads 레벨플레이 Mediation 설정에 연결하여 수익화 향상하고 게임의 사용자 지지대 원활한 광고를 게재합니다.

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

이 가이드는 Unity 레벨플레이 Unity Ads 광고 네트워크로 게재하는 방법에 대한 단계별 지침을 제공합니다.

Unity Ads 네트워크의 경우 아래 단계 1을 완료한 후 자동 설정 툴을 사용할 수 있습니다. 자동 설정 툴은 앱과 입찰자 배치를 생성하고 Unity Ads 플레이스먼트 세부 정보를 검색하여 레벨플레이 Unity Ads 플랫폼 간에 전환할 필요가 없습니다. 또는 전체 설정을 수동으로 완료할 수도 있습니다.

> **Note:**
>
> 이 Mediation 네트워크의 어댑터 변경 기록을 보려면 [Android용 Mediation 네트워크](/grow/levelplay/sdk/android/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/보상형 광고 통합)
* [iOS](/grow/levelplay/sdk/ios/rewarded-ads-integration.md.md)
* \[Adobe Air]\(/grow/levelplay/sdk/adobe/보상형 광고 통합)
* \[플러터]\(/grow/levelplay/sdk/flutter/보상형 광고 통합)
* \[네이티브 반응]\(/grow/levelplay/sdk/react/보상형 광고 통합)

**Interstitial integration:**

* \[Unity]\(/grow/levelplay/sdk/unity/intersticial 광고 통합)
* \[Android]\(/grow/levelplay/sdk/android/interstitial 광고 통합)
* [iOS](/grow/levelplay/sdk/ios/interstitial-integration.md.md)
* \[Adobe Air]\(/grow/levelplay/sdk/adobe/interstitial 광고 통합)
* \[플러터]\(/grow/levelplay/sdk/플러터/인터스티셜 광고 통합)
* \[네이티브 반응]\(/grow/levelplay/sdk/react/interstitial 광고 통합)

**Banner integration:**

* \[Unity]\(/grow/levelplay/sdk/Unity/배너 통합)
* \[Android]\(/grow/levelplay/sdk/android/ 배너 통합)
* [iOS](/grow/levelplay/sdk/ios/banner-integration.md.md)
* \[Adobe Air]\(/grow/levelplay/sdk/adobe/ 배너 통합)
* \[플러터]\(/grow/levelplay/sdk/flutter/ 배너 통합)
* \[네이티브 반응]\(/grow/levelplay/sdk/react/ 배너 통합)

- 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 레벨플레이에서 Unity Ads 입찰자를 시작하고 실행할 수 있습니다. 매뉴얼 설정을 계속하려면 2단계를 계속하십시오.

## 2단계. Unity Ads 프로젝트 생성

다음 단계에 따라 Unity Ads 앱을 생성합니다.

### 앱 만들기

1. [Unity 수익화 대시보드](https://cloud.unity.com/monetization)에서 **프로젝트**를 선택합니다.

2. **조직**을 선택한 다음 **프로젝트**를 선택합니다.

3. **프로젝트 생성**을 선택합니다.

   ![프로젝트 만들기 버튼](/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. **프로젝트 생성**을 선택합니다.

   ![프로젝트 양식 만들기](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-5.47.25.png)

프로젝트를 수익화하려면 대시보드에서 Unity Ads 활성화하다, 사용 가능하다 합니다. 수익화 대시보드의 두 번째 내비게이션 메뉴에서 **Get started**를 선택합니다.

프로젝트에서 Unity Ads를 초기화할 때 Mediation 공급자를 선택해야 합니다. **I plan to use Mediation**을 선택합니다. 그런 다음 **Mediation 파트너 선택**에서 **Unity 레벨플레이를 선택합니다.**
![Mediation 파트너 선택](/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. 왼쪽 내비게이션 메뉴에서 **수익화 > 광고 유닛**을 선택합니다.
2. **Add Ad Unit**을 선택하여 생성 모달을 불러옵니다.
3. 광고 유닛 이름을 입력한 다음 플랫폼(iOS 또는 Android) 및 [광고 형식](/grow/levelplay/platform/get-started/ad-units.md.md)(보상형 광고, 인터스티셜 광고 또는 배너)을 선택합니다.
4. 광고 유닛을 저장하려면 **Create를 선택**합니다.

### 플레이스먼트 추가

프로젝트가 생성되면 **수익화 > 플레이스먼트**로 이동하여 두 플랫폼의 **게임 ID**를 참고하십시오.

![게임 ID 위치](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-8.42.10.png)

새 플레이스먼트를 생성하려면 **플레이스먼트 추가**를 선택합니다.

> **Note:**
>
> Unity Ads 프로젝트를 처음 생성할 때 "기본" 플레이스먼트를 자동으로 생성하지만, 각 Unity Ads Mediation 설정 대해 새로운 고유 플레이스먼트를 생성하는 것이 좋습니다.

## 3단계. 자격 증명 검색

레벨플레이 설정을 완료하려면 Unity Ads 플랫폼에서 다음 세부 정보를 검색해서 가져와야 합니다.

* API 키
* 조직 코어 ID
* Key ID
* Secret key

**설정 > API 관리**로 이동하여 **API 키**를 참고하십시오.

![API 키 위치](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-8.42.33.png)

그런 다음 조직 설정으로 이동하여 **조직 핵심 ID**를 참고하십시오.

![조직 코어 ID](/api/media?file=/grow/media/images/Screenshot-2023-04-30-at-8.43.02.png)

**키 ID와 비밀 키를** 검색하려면 **수익화**로 이동한 다음 **API 관리로 이동합니다.** **Create LevelPlay Service Account**를 선택하면 모달이 열쇠 ID와 비밀 키와 함께 나타납니다. 모달을 닫은 후 다시 가져올 수 없으므로 비밀 키를 저장해야 합니다.
![레벨플레이 서비스 계정 생성](/api/media?file=/grow/media/images/Screen-Shot-2023-06-19-at-12.03.32-2.png)

## 4단계. 레벨플레이 Unity Ads 설정 

이 모든 파라미터를 사용하면 레벨플레이 계정에 로그인합니다.

* '**Mediation**' > '**설정**' > '**SDK Networks**'로 이동합니다.

  ![SDK 네트워크 페이지](/api/media?file=/grow/media/images/Screenshot-2023-07-11-at-10.01.15-1.png)

* 사용 가능한 네트워크 목록에서 Unity Ads 선택합니다.

* 관련 필드에 Unity Ads **API 키**와 **조직 핵심 ID**를 입력합니다.

  ![Unity Ads API 키 및 조직 ID](/api/media?file=/grow/media/images/Unity-updated-1-1-1.png)

* 자동 설정 기능을 활성화 Unity Ads 자동 설정 툴을 토글. 이렇게 하면 Unity Ads 플랫폼에서 앱과 입찰자 배치를 자동으로 생성하고 레벨플레이가 Unity Ads에서 배치 세부 정보를 가져올 수 있습니다.

* 자동 설정 툴을 토글한 후 3단계에서 키 ID와 비밀 키를 입력합니다. 그런 다음 **저장**을 선택합니다.
  ![Unity Ads 자동 설정](/api/media?file=/grow/media/images/Unity-updated-2-1.png)

> **Note:**
>
> 자동 설정 툴을 토글 레벨플레이 수동으로 Unity Ads 입찰을 설정 수 있습니다.

## 5단계: 앱 레벨에서 Unity Ads 설정

### 기존 워터폴 설정 

* SDK Networks 페이지 왼쪽에 있는 목록에서 연동하려는 앱을 선택합니다.
* 광고 유닛 행에서 **설정**을 선택하고 관련 광고 유닛 설정 아래에 **게임 ID** 및 **플레이스먼트** **ID를** 입력합니다.
  ![Unity Ads 워터폴 설정](/api/media?file=/grow/media/images/F15F95A0-A7C7-40AF-A955-8C9BE6DB9621.png)
* 그러면 설정 대시보드에서 Unity Ads가 Mediation을 위한 **액티브**로 표시됩니다.

### 입찰자 설정

레벨플레이 Unity Ads 입찰자를 설정하는 방법에는 두 가지가 있습니다.

1. **자동 설정** - Unity Monetize 대시보드에서 새 앱과 플레이스먼트를 자동으로 생성하고 레벨플레이에 필요한 모든 설정을 입력합니다.
2. **매뉴얼** - 레벨플레이 및 Unity Ads 플랫폼에서 필요한 앱 세부 정보를 수동으로 입력합니다.

**자동 설정**

* Unity Ads 인터스티셜 광고 광고, 보상형 광고 광고 또는 배너 광고를 게재할 앱을 선택합니다. 그런 다음 Unity Ads 행에서 정의 아이콘을 선택합니다.

  ![Unity Ads 입찰자 설정 아이콘](/api/media?file=/grow/media/images/Screenshot-2023-07-11-at-10.20.55.png)

* Unity Ads 플랫폼에서 새 앱과 입찰 플레이스먼트를 자동으로 생성하고 게임 ID와 플레이스먼트 ID를 임포트하려면 **Add bidder를 선택**합니다. 앱에 이미 연결된 게임 ID가 있는 경우 플레이스먼트 ID 파라미터 값이 없는 플레이스먼트가 1개 이상 있는 경우 자동 설정 툴을 사용할 수 있습니다. 이 경우 새 입찰 플레이스먼트가 생성됩니다(게임 ID 삽입용).

  ![입찰자 자동 설정 추가](/api/media?file=/grow/media/images/68A72BE2-91CF-4DA0-8CD4-70FE035A8120-1-1-1.png)

**저장**을 선택하여 모든 구성을 승인하고 승인합니다. 저장하지 않고 모듈을 닫으면 레벨플레이 플랫폼으로 데이터를 임포트하지 않고 Unity Ads 플랫폼에서 에셋이 생성됩니다.

**중요:** Unity Ads 입찰자 인스턴스의 상태는 광고 유닛별로 Ironsource Ads 입찰자의 상태와 동일합니다. 예를 들어 보상형 광고 광고에 Ironsource 광고 입찰자를 사용하지 않는 경우 Unity Ads 네트워크에서 자동으로 활성화되지 않습니다. 보상형 광고 광고에 대한 Unity Ads 입찰 인스턴스 활성화 Unity Ads 행을 선택하고 광고 유닛에서 토글. 

**매뉴얼 설정**

* Unity Ads 인터스티셜 광고 광고 또는 보상형 광고 광고를 게재할 앱을 선택합니다.

* Ad Networks 설정 목록에서 Unity Ads 선택하고 정의 아이콘을 선택하고 관련 필드에 게임 ID와 플레이스먼트 ID를 삽입합니다.

* **저장**을 선택합니다.

이제 계정에서 원하는 광고 유닛에 대해 Unity Ads 활성화된 것으로 표시됩니다.

## 6단계. 빌드 Unity Ads 어댑터 추가하기##step-6.-add-the-unity-ads-adapter-to-your-build

Unity 레벨플레이 Gradle 종속성과 매뉴얼 다운로드 메커니즘을 모두 지원합니다.

### Gradle##gradle

1. 앱 모듈의 Gradle다음 Maven URL이 있는지 확인합니다. 모든 어댑터에는 한 번만 표시되어야 합니다.

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

2. 어댑터 Maven 이름을 앱 모듈의 Gradle추가합니다.

```groovy
dependencies {
   implementation 'com.unity3d.ads-mediation:unityads-adapter:5.5.0'
   implementation 'com.unity3d.ads:unity-ads:4.16.6'
}
```

### 매뉴얼 다운로드##manual-download

1. **Unity Ads 어댑터 및 SDK 다운로드:** 그러면 Unity Ads 어댑터 SDK가 빌드 추가됩니다. 최신 Unity Ads 파일은 [여기](/grow/levelplay/sdk/android/mediation-networks.md)에서 찾을 수 있습니다.

2. **Unity Ads 어댑터를 프로젝트에 추가합니다.** 어댑터를 다운로드한 후 Android 프로젝트의 **libs** 폴더에 **UnityAdsAdapter** **jar**를 드롭합니다.

   ![Android 프로젝트의 libs 폴더에 Unity Ads 어댑터 JAR을 놓습니다.](/api/media?file=/grow/media/images/Unity-integration-with-Supersonic-Mediation-08.png)

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

```groovy
dependencies {
   implementation 'com.unity3d.ads-mediation:unityads-adapter:5.5.0'
   implementation 'com.unity3d.ads:unity-ads:4.16.6'
}
```

## 7단계 AndroidManifest.xml 업데이트##step-7.-update-androidmanifest.xml

Unity Ads Android 어댑터 버전 4.3.4 이상(Android SDK 버전 6.17.0)부터는 Unity Ads 어댑터가 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.unity3d.services.ads.adunit.AdUnitActivity"
    android:configChanges="fontScale|keyboard|keyboardHidden|로케일 |mnc|mcc | 내비게이션 | 방향, 방향 설정 |screenSize|smallestScreenSize|uiMode|터치스크린"
    android:hardwareAccelerated="true"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
<activity
    android:name="com.unity3d.services.ads.adunit.AdUnitTransparentActivity"
    android:configChanges="fontScale|keyboard|keyboardHidden|로케일 |mnc|mcc | 내비게이션 | 방향, 방향 설정 |screenSize|smallestScreenSize|uiMode|터치스크린"
    android:hardwareAccelerated="true"
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
    android:name="com.unity3d.services.ads.adunit.AdUnitTransparentSoftwareActivity"
    android:configChanges="fontScale|keyboard|keyboardHidden|로케일 |mnc|mcc | 내비게이션 | 방향, 방향 설정 |screenSize|smallestScreenSize|uiMode|터치스크린"
    android:hardwareAccelerated="false"
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
    android:name="com.unity3d.services.ads.adunit.AdUnitSoftwareActivity"
    android:configChanges="fontScale|keyboard|keyboardHidden|로케일 |mnc|mcc | 내비게이션 | 방향, 방향 설정 |screenSize|smallestScreenSize|uiMode|터치스크린"
    android:hardwareAccelerated="false"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
```

> **Note:**
>
> 이전 어댑터 버전에서 Unity Ads 어댑터 2.1.0으로 업그레이드하는 경우, 종속성 섹션 **컴파일 프로젝트('Unity')** 코드와 함께 프로젝트의 AAR을 제거해야 합니다.

**ProGuard 사용자 전용** 

ProGuard를 Unity Ads 어댑터 함께 사용하는 경우 다음 코드를 ProGuard 설정(Android Studio: proguard-rules.pro 또는 Eclipse: proguard-project.txt)에 추가해야 합니다.

```text
# Keep filenames and line numbers for stack traces##keep-filenames-and-line-numbers-for-stack-traces
-keepattributes SourceFile,LineNumberTable
# Keep JavascriptInterface for WebView bridge##keep-javascriptinterface-for-webview-bridge
-keepattributes JavascriptInterface
# Sometimes keepattributes is not enough to keep annotations##sometimes-keepattributes-is-not-enough-to-keep-annotations
-keep class android.webkit.JavascriptInterface {
   *;
}
# Keep all classes in Unity Ads package##keep-all-classes-in-unity-ads-package
-keep class com.unity3d.ads.** {
   *;
}
# Keep all classes in Unity Services package##keep-all-classes-in-unity-services-package
-keep class com.unity3d.services.** {
   *;
}
-dontwarn com.google.ar.core**
-dontwarn com.unity3d.services.**
-dontwarn com. 아이언소스.adapters.unityads.**
```

## 8단계 Unity Ads 추가 설정##step-8.-unity-ads-additional-settings

### 사용자 레벨 COPPA##user-level-coppa

Unity 레벨플레이를 사용하면 퍼블리셔가 Unity Ads 사용자 레벨 COPPA 설정을 Unity Ads 네트워크에 직접 전달할 수 있습니다. 이 기능은 레벨플레이 SDK 7.1.12 이상의 Unity Ads Android 어댑터 4.3.15 이상을 사용하여 활성화된, 사용 가능한 수 있습니다.

다음 구문을 사용하여 Unity Ads 사용자.nonBehavioral 플래그를 true로 설정합니다.

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

다음 구문을 사용하여 Unity Ads 사용자.nonBehavioral 플래그를 false로 설정합니다.

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

이제 애플리케이션 내에서 Unity Ads 광고를 게재할 수 있습니다.

## 다음 단계##next-steps

레벨플레이 Mediation을 통해 추가 광고 네트워크를 활용하려면 [어댑터를](/grow/levelplay/sdk/unity/mediation-networks.md.md) 통합하고 통합 가이드를 따르십시오.
