# MAX 미디에이션(Beta, Unity AOS)

## 1. 문서 목적

* 본 문서는 매체사가 **AdPopcornSSP SDK를 통해 AppLovin MAX 기반 광고 수익화 구조를 연동하는 방법**을 안내합니다.
* 실제 미디에이션 네트워크 구성과 운영은 내부 운영팀이 관리하며, 매체사는 **SDK 연동과 광고 호출 코드 적용만 진행하면 됩니다.**
* 실제 네트워크 구성은 내부 운영 기준에 따라 설정됩니다.

{% hint style="warning" %}
단독연동을 사용하고자하는 경우, 애드팝콘 SSP 사업팀 (<monetize@adpopcorn.com>)으로 연락부탁드립니다.
{% endhint %}

* Android 환경에서 미디에이션 기능을 사용하기 위해서는 build.gradle / AndroidManifest.xml 파일 내 추가 설정만 진행하면 됩니다.&#x20;

{% hint style="warning" %}
다만, 일부 미디에이션의 경우 AGP 버전이 구버전일 경우, 빌드에 실패하므로, UnityTool 최신 버전을 사용해 주셔야 합니다.
{% endhint %}

## 2. 적용 네트워크

별도 예외 협의가 없는 경우, 아래 **최대 범위 네트워크 기준**으로 운영됩니다.

| 네트워크                    | 리워드비디오 | 전면비디오 | 전면배너 | 네이티브 | 배너 |
| ----------------------- | ------ | ----- | ---- | ---- | -- |
| AppLovin                | O      | O     | O    | O    | O  |
| AppLovin Exchange       | O      | O     | O    | O    | O  |
| BidMachine              | O      | O     | O    | O    | O  |
| Google Bidding          | O      | O     | O    | O    | O  |
| IronSource              | O      | O     | O    |      | O  |
| Meta                    | O      | O     | O    | O    | O  |
| Mintegral               | O      | O     | O    | O    | O  |
| Moloco                  | O      | O     | O    | O    | O  |
| Unity                   | O      | O     | O    |      | O  |
| DT Exchange             | O      | O     | O    |      | O  |
| Liftoff Monetize        | O      | O     | O    | O    | O  |
| Liftoff Monetize Native |        |       |      | O    |    |
| Pangle                  | O      | O     | O    | O    | O  |
| Pangle Native           |        |       |      | O    |    |
| Meta Native             |        |       |      | O    |    |
| InMobi                  | O      | O     | O    | O    | O  |
| Google Ad Manager       | O      | O     | O    | O    | O  |
| Maio                    | O      | O     |      |      |    |

## 3. Build.gradle(Project Level)

Pangle SDK를 사용하고자 하는 경우에는 아래 Pangle 부분을 추가해 주시면 됩니다.

#### 3.1  `Custom Gradle Settings Template` 활성화 확인

Unity에서 프로젝트 레벨의 설정을 변경하려면 이 템플릿이 활성화되어 있어야 합니다.

* Unity 에디터 > Edit > Project Settings > Player > Android 탭 > Publishing Settings에서 \*\*`Custom Gradle Settings Template`\*\*가 체크되어 있는지 확인합니다.

#### 3.2 `settingsTemplate.gradle` 파일 수정

프로젝트 레벨 설정 파일인 `Assets/Plugins/Android/settingsTemplate.gradle` 파일을 열고, `allprojects { repositories { ... } }` 블록 내에 Pangle/Bytedance 저장소 URL을 추가해야 합니다.

```
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        **ARTIFACTORYREPOSITORY**
        google()
        mavenCentral()		
        // BidMachine
        maven { url "https://artifactory.bidmachine.io/bidmachine" }
        // Mintegral
        maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" }
        // Pangle
        maven { url "https://artifact.bytedance.com/repository/pangle" }
        // Maio
        maven { url "https://imobile-maio.github.io/maven" }        
        flatDir {
            dirs "${project(':unityLibrary').projectDir}/libs"
        }
    }
}
```

## 4. Build.gradle(App Level)

아래 설정 중, Common 라이브러리와 사용 예정인 업체의 SDK만 탑재하면 됩니다.

#### 4.1  `Custom Base Gradle Template` 활성화 확인

Unity에서 프로젝트 레벨의 설정을 변경하려면 이 템플릿이 활성화되어 있어야 합니다.

* Unity 에디터 > Edit > Project Settings > Player > Android 탭 > Publishing Settings에서 \*\*`Custom Main Gradle Template`\*\*가 체크되어 있는지 확인합니다.

#### 4.2 `mainTemplate.gradle` 파일 수정

위 설정을 활성화하면, Unity는 프로젝트 내의 특정 폴더에 기본 템플릿 파일을 생성합니다.

* 생성된 파일 경로: `Assets/Plugins/Android/mainTemplate.gradle`

```
dependencies{
    // Common
    implementation 'com.igaworks.ssp:IgawAdPopcornSSP:3.10.2'
    api 'com.google.android.gms:play-services-ads-identifier:18.2.0'
    implementation 'com.applovin:applovin-sdk:13.6.2'
    
    // Mediation
    implementation 'com.applovin.mediation:bidmachine-adapter:+'
    implementation 'com.applovin.mediation:fyber-adapter:+'
    implementation 'com.applovin.mediation:google-ad-manager-adapter:+'
    implementation 'com.applovin.mediation:google-adapter:+'
    implementation 'com.applovin.mediation:ironsource-adapter:+'
    implementation 'com.applovin.mediation:vungle-adapter:+'
    implementation 'com.applovin.mediation:facebook-adapter:+'
    implementation 'com.applovin.mediation:mintegral-adapter:+'
    implementation 'com.applovin.mediation:moloco-adapter:+'
    implementation 'com.applovin.mediation:bytedance-adapter:+'
    implementation 'com.applovin.mediation:unityads-adapter:+'
    implementation 'com.applovin.mediation:maio-adapter:+'
    
    // Start Inmobi dependency 
    implementation 'com.applovin.mediation:inmobi-adapter:+'
    implementation 'com.squareup.picasso:picasso:2.8'
    implementation 'androidx.recyclerview:recyclerview:1.1.0'
    // End Inmobi dependency    
}
```

## 5. AndroidManifest.xml

AdMob SDK를 사용하는 경우에는 아래의 설정을 추가해 줍니다.

입력해야 되는 키 값에 대해서는 사업팀(<monetize@adpopcorn.com>)에 문의해 주세요

```
<meta-data
    android:name="com.google.android.gms.ads.APPLICATION_ID"
    android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://adpopcornssp.gitbook.io/ssp-sdk/undefined-1/max-beta/max-beta-unity-aos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
