미디에이션 (Android)_숨김

미디에이션이란 디스플레이 광고지면에 타 광고네트워크의 광고를 라이브 할 수 있는 기능을 의미하며, 내부/자체 광고의 운영 및 여러 국내/해외의 외부 광고를 노출시킬 수 있어 수익극대화에 효과적입니다.

1. 주의 사항

1) 주요 ㅜ버전별 변경 사항

AdPopcornSSP v3.7.5

  • AdMob, GAM v24.1.0

  • AdFit v3.17.2

  • Mintegral v16.9.5

    • 저장소 이름 변경

    com.mbridge.msdk.oversea:xxxxx -> com.mbridge.msdk.oversea:mbridge_android_sdk
  • Fyber v8.3.6

  • NAM v8.3.0

  • Cauly v3.5.35

    • Cauly v3.5.35 버전 사용시에는 반드시 AdPopcornSSP v3.7.5 사용 필요

    • build.gradle 저장소 주소 변경

  • MobWith v1.0.46

    • MobWith v1.0.46 버전 사용시에는 반드시 AdPopcornSSP v3.7.5 사용 필요

  • Pangle v7.1.0.4

    • 저장소 이름 변경

    com.pangle.global:ads-sdk -> com.pangle.global:pag-sdk
  • UnityAds v4.14.1

  • AppLovin, AppLovinMaxDynamicBid v13.1.0

  • MezzoMedia v300(250210 버전)

AdPopcornSSP v3.7.4

  • targetSdkVersion 35 지원에 따른 일부 SDK 호환성 검증

    • Vungle(LiftOff) v7.4.3

    • FAN v6.19.0

    • Pangle v6.5.0.4

AdPopcornSSP v3.7.1

  • Fyber 8.3.5

  • NAM 8.2.5

    • NAM 8.x.x 버전부터 일부gradle 주소가 변경되었으니, 변경 필요

    • NAM 8.x.x 버전 사용 시에는, 반드시 AdPopcornSSP v3.7.1 이상 사용 필요

AdPopcornSSP v3.7.0

  • FacebookAudienceNetwork(FAN) v6.17.0

    • Banner, Native 인앱 비딩 지원

AdPopcornSSP v3.6.8

  • AppLovin 13.0.1

    • 애드팝콘 v3.6.8 버전에는 반드시 앱러빈 13.0.1 버전을 사용해야 크래시 오류가 발생하지 않습니다.

  • AdForus 미디에이션 업체 추가

AdPopcornSSP v3.6.2

  • AppLovin 초기화 설정 제거

AppLovin SDK 초기화 방식 변경으로 인해 아래 AppLovinSDKKey 설정은 애드팝콘 v3.6.2 버전부터는 AndroidManifest에서 아래 내용이 제거되어야 합니다.

<meta-data android:name="applovin.sdk.key"
            android:value="YOUR_APPLOVIN_SDK_KEY"  />

2. 호환성 관련 SDK 릴리즈 정보

SDK 버전
호환성

AdPopcornSSP_v3.7.5

  • AdMob, GAM v24.1.0

  • AdFit v3.17.2

  • NAM v8.3.0

  • Cauly v3.5.35

  • UnityAds v4.14.1

  • AppLovin 13.1.0

  • Pangle v7.1.0.4

  • Mintegral 16.9.5

  • Fyber v8.3.6

  • MezzoMedia v300(20250210)

  • MobWith v1.0.46

AdPopcornSSP_v3.7.4

  • FAN 6.19.0

  • Vungle(LiftOff) 7.4.3

  • Pangle 6.5.0.4

AdPopcornSSP_v3.7.1

  • Fyber 8.3.5

  • NAM 8.2.5

AdPopcornSSP_v3.7.0

  • Facebook Audience Network v6.17.0

AdPopcornSSP_v3.6.8

  • AppLovin 13.0.1

  • AdForus 23.3.0

AdPopcornSSP_v3.6.7

  • MezzoMedia v300(20241031)

AdPopcornSSP_v3.6.5

  • UnityAds 4.12.3

  • NAM 7.8.1

AdPopcornSSP_v3.6.3

  • AdMob 23.3.0

  • GAM 23.3.0

  • ADOP 23.3.0

AdPopcornSSP_v3.6.2

  • AdFit v3.16.0

  • Cauly v3.5.31

  • Mintegral v16.8.11

  • MezzoMedia v300(20240830)

  • Vungle v7.4.1

  • Fyber v8.3.1

  • Pangle v 6.2.0.4

  • AppLovin v12.6.1

  • NAM v7.7.1

  • UnityAds v4.12.2

  • MobWith v1.0.30

AdPopcornSSP_v3.6.0

  • Mobon v1.0.0.65

  • MezzoMedia v300

AdPopcornSSP_v3.5.3

  • Coupang v1.3.0

  • Pangle v6.0.0.8

  • Mobon v1.0.0.64

AdPopcornSSP_v3.5.0

  • NAM 7.5.1 호환 검증 완료

AdPopcornSSP_v3.4.1

  • TapJoy 13.3.0 호환 검증 완료

AdPopcornSSP_v3.3.5

  • NAM v7.2.0

AdPopcornSSP_v3.3.4

  • Vungle 7.1.0 지원

  • UnityAds 4.9.2 지원

  • AdFit 3.15.2 지원

AdPopcornSSP_v3.3.2

  • AppLovin 12.1.0 지원

  • FAN 6.16.0 지원

  • Fyber 8.2.4 지원

  • Mintegral 16.5.81 지원

  • TapJoy 12.11.1 지원

  • UnityAds 4.7.0 지원

  • AdColony 4.8.0 지원

  • AdFit 3.13.6 지원

  • NAM 6.6.1 지원

AdPopcornSSP_v3.2.10

  • NAM 6.4.2 (v3.2.10 부터 지원)

  • Cauly 3.5.26

  • Mintegral 16.5.31

AdPopcornSSP_v3.2.6

  • NAM 6.1.1

AdPopcornSSP_v3.1.9

  • Adfit 3.12.15

  • AdMob, GAM, ADOP 21.4.0

  • APPLOVIN MAX DYNAMIC BID 11.6.0

  • Pangle 5.0.0.7

AdPopcornSSP_v3.1.7

  • AppLovin 11.6.0 대응

  • Mintegral 16.3.11 대응

  • Cauly 3.5.24 대응

  • pangle 4.7.1.3 대응

  • NAM 네이티브 로드 실패 이벤트 전달 오류 수정

AdPopcornSSP_v3.1.3

  • AdMob, GAM 21.2.0 대응

  • NAM 4.4.0 대응

AdPopcornSSP_v3.1.2

  • Pangle SDK v4.6.0.9 대응

AdPopcornSSP_v3.0.18

  • Coupang v1.2.1 대응

3. Build.gradle

1) Build.gradle(Project Level)

아래 Build.gradle 내용을 참고하여, 사용하고자 하는 업체의 SDK를 설정합니다. 업체 정보가 없을 경우에는 기본이 되는 mavenCentral() 추가로 충분합니다.

allprojects {
    repositories {
        google()
        mavenCentral()
        maven{
            url "https://maven.google.com"
        }

        // AdFit
        maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }

        // Pangle
        maven {
            url 'https://artifact.bytedance.com/repository/pangle'
        }

        // Cauly
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/cauly/Android-SDK/SDK")
            credentials {
                username = 'cauly'
                password = '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'
            }
        }

        // Coupang
        maven {
            url "https://raw.githubusercontent.com/coupang-ads-sdk/android/main"
        }
				
	// Mintegral
        maven {
            url  "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
        }
    }
}

2) Build.gradle(App Level)

아래 Build.gradle 내용을 참고하여, 사용하고자 하는 업체의 SDK를 설정합니다.

// 기본
api 'com.google.android.gms:play-services-ads-identifier:18.0.0'

// 1. AdFit
api 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.10'
api 'com.kakao.adfit:ads-base:3.17.2'

// 2. AdMob, AdManager, ADOP
api 'com.google.android.gms:play-services-ads:24.1.0'

// 3. Cauly
api 'com.google.android.gms:play-services-appset:16.0.0'
api 'com.fsn.cauly:cauly-sdk:3.5.35'

// 4. FAN SDK
api 'androidx.annotation:annotation:1.4.0'
api 'com.facebook.android:audience-network-sdk:6.19.0'

// 5. MezzoMedia
api files('libs/manlibrary_v3.0.0_20250210.jar') //version300(20250210)

// 6. Mintegral
api 'com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.61'

// 7. Mobon 
api('io.github.mobon:mobonSDK:1.0.0.65') {
    transitive = true
}

// 8. UnityAds
api 'com.unity3d.ads:unity-ads:4.14.1' // min target이 31이하인 경우는 4.6.0 사용

// 9. Vungle SDK
api 'com.vungle:vungle-ads:7.4.3' // For Vungle(Liftoff)

// 10. Fyber
api "com.fyber:marketplace-sdk:8.3.6"

// 11. Pangle
api 'com.pangle.global:pag-sdk:7.1.0.4'

// 12. coupang
api "com.coupang:ads:1.3.0"

// 13. AppLovin
api 'com.applovin:applovin-sdk:13.1.0'

// 14. NAM(Naver Ad Manager)
api platform('com.naver.gfpsdk:nam-bom:8.3.0')
api 'com.naver.gfpsdk:nam-core'      // GFP SDK core (mandatory)

// NAM 7.x.x 버전에는 아래 sdk 포함 필요
api 'com.naver.gfpsdk:nam-nda'       // Naver S2S extension
// NAM 8.x.x 버전에서는 아래 sdk 포함 필요.
api 'com.naver.gfpsdk.mediation:nam-nda' // Naver S2S extension

// 15. MobWith
api 'io.github.mobon:mobwithSDK:1.0.46'

메조미디어의 최신SDK(v300(20250210))는 아래 링크로 다운로드 해주세요

v300(20250210)

v300(20241031)

v300(20240830)

4. 미디에이션 적용 방법

  1. 사용하고자 하는 미디에이션 업체의 SDK를 아래 리스트의 가이드 링크에서 확인 하신 뒤 build.gradle 혹은 직접 다운로드 하여 포함시켜 주시기 바랍니다.

  2. 각 업체 별 proguard 설정이 필요한 경우, 가이드 링크에서 확인 하신 뒤 반드시 설정해 주시기 바랍니다.

  3. 아래 리스트에 적힌 호환 버전 이외의 버전을 사용하고자 하는 경우 반드시 애드팝콘 SSP 사업팀 (monetize@adpopcorn.com) 문의 후 사용하시기 바랍니다.

  4. 일부 업체의 광고 타입의 경우 앱의 activity life cycle에 따라 추가 연동이 필요할 수 있습니다. 이 부분도 아래 추가 연동 부분을 참고하여 연동해 주시기 바랍니다.

1) AndroidManifest.xml 코드 연동

아래 미디에이션 업체에 대해서는 AndroidManifest.xml 파일 내에 Key-Value 값을 설정해야 미디에이션이 정상적으로 동작합니다. 입력해야 되는 키 값에 대해서는 사업팀(monetize@adpopcorn.com)에 문의해 주시기 바랍니다.

[1] Admob, GAM, ADOP

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

[2] Mobon

<meta-data
            android:name="com.mobon.sdk.MediaCode"
            android:value="YOUR_mobon_code"/>

[3] Coupang

<meta-data android:name="coupang_ads_affiliate_id"
            android:value="YOUR_COUPANG_AFFILAIATE_ID"/>
<meta-data android:name="coupang_ads_sub_id"
            android:value="YOUR_COUPANG_ADS_SUB_ID"/>

[4] NAM (Naver Ad Manager)

<resources>
    <string name="nam_publisher_cd">7976096509</string>
</resources>
<meta-data
            android:name="com.naver.gfpsdk.PUBLISHER_CD"
            android:value="@string/nam_publisher_cd"/>

2) 미디에이션 업체 리스트

업체 명
호환 버전
Supported Format
가이드

Admob

24.1.0

  • 배너

  • 전면

  • 네이티브

  • 전면 비디오

  • 리워드 비디오

GAM(Google Ad Manager)

24.1.0

  • 배너

  • 전면

  • 네이티브

  • 전면 비디오

  • 리워드 비디오

Facebook Audience Network

6.19.0

  • 배너

  • 전면

  • 네이티브

  • 리워드 비디오

Cauly

3.5.35

  • 배너

  • 전면

https://github.com/cauly/Android-SDK/blob/master/Android SDK 연동 가이드.md#1-CAULY-시작하기

MezzoMedia

v.300(20250210)

  • 배너

Mobon

1.0.0.65

  • 배너

  • 전면

  • 네이티브

UnityAds

4.14.1

  • 배너

  • 전면 비디오

  • 리워드 비디오

Mintegral

16.9.61

  • 배너

  • 네이티브

  • 전면 비디오

  • 리워드 비디오

Vungle

7.4.3

  • 전면 비디오

  • 리워드 비디오

Pangle

7.1.0.4

  • 배너

  • 네이티브

  • 전면 비디오

  • 리워드 비디오

AppLovin

13.1.0

  • 배너

  • 네이티브

  • 전면 비디오

  • 리워드 비디오

Coupang

1.3.0

  • 배너

  • 전면

  • 네이티브

NAM(Naver Ad Manager)

8.3.0

  • 배너

  • 네이티브

Mobwith

1.0.46

  • 배너

  • 전면

  • 네이티브

4) 추가 연동 코드

[1] 배너 연동 중, 아래 업체를 미디에이션으로 사용하고자 할 경우, 아래 코드를 추가해 주시길 바랍니다.

  • Cauly, Adfit

Cauly, Adfit 사용 시
@Override
protected void onResume() {
    super.onResume();
    if(bannerAdView != null)
        bannerAdView.onResume();
}

@Override
protected void onPause() {
    super.onPause();
    if(bannerAdView != null)
        bannerAdView.onPause();
}

[2] 쿠팡 미디에이션 추가 시, Activity 화면에서 배너, 전면 광고를 연동하고자 할 경우, Activity에 LifecycleOwner 를 구현해야 광고가 노출될 수 있습니다. ComponentActivity 사용 시에는 아래 추가 연동이 필요 없습니다.

import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LifecycleRegistry;

public class MainActivity extends Activity implements LifecycleOwner {
    private final LifecycleRegistry lifecycleRegistry = new LifecycleRegistry(this);
	
    protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
    }		
	
    @Override
    protected void onStart() {
        super.onStart();
        lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
    }

    @Override
    protected void onResume() {
        super.onResume();
        lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_RESUME);
    }

    @Override
    protected void onPause() {
        super.onPause();
        lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_PAUSE);
    }

    @Override
    protected void onStop() {
        super.onStop();
        lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY);
    }

    @Override
    public Lifecycle getLifecycle() {
        return lifecycleRegistry;
    }
}

Last updated

Was this helpful?