본문 바로가기

안드로이드/코틀린

[AOS] Mopub Migration MAX ( 광고 SDK )

반응형

기존에 애드몹과 애드핏을 사용중이였지만 글로벌 출시를 하면서 외국인 유저를 대비해 Mopub 광고 Sdk를 연동했었습니다.

( 카카오 애드핏 광고의 경우 국내 유저 대상으로만 권고하고 있습니다. ) 

외국인 유저가 많지 않아 애드몹으로도 커버가 될 수 있지만 광고가 부족해 실패가 떨어질 경우 Mopub을 호출했습니다. 

 

그러다 Mopub이 AppLovin에 인수되어 'MAX'라는 이름으로 변경됐다는 소식을 듣고 변경작업 진행했습니다.

※작성일 기준 (22.2.15)에는 Mopub Delveloper에 접속은 가능합니다.

 

 

| 구현 과정 

1. AppLovin 계정이 없는 경우 새로 가입하고

2. MAX 광고 Unit을 생성하고

3. Api key를 발급 받는 

| Unit 생성

회원 가입후 로그인을 하고 'Mediation > Manage > AdUnit'  메뉴로 이동하면 여러 광고 단위중 하나를 생성할 수 있습니다. 

광고 종류

- Interstitials ( 전면 광고 ) 

- Banner ( 배너 )

- MREC ( 동영상 광고 ) 

- Reward Ads ( 보상형 동영상 광고 ) 

- Native Ads ( 네이티브 광고 ) 

 

 

| 미디에이션 광고 활성화 

예전에는 광고사마다 광고 풀이 일정하지 않아 다수의 광고들을 함께 추가해서 돌려가면서 쓰는 방식(미디에이션)을 사용했는데 요즘은 광고사에서 제공해주는 기능입니다. 

연동을 원하시는 광고사들의 정보를 기입하시면 연동되는데, 추후에도 연동이 가능하니 지금은 애드몹만 연동해서 추가합니다.

 

| 위험 컨텐츠 지정

아래 사진처럼  유해 정보 카테고리들이 잔뜩 나옵니다.  운영하시는 앱의 대상 연령층에 맞게 노출되도 관계 없는 카테고리들은 체크 해제하시면 됩니다. ( 저는 미성년자도 사용하기 때문에 아무것도 체크 해제를 하지 않습니다. ) 

요즘 미성년자들도 쉽게 앱을 다운받고 사용할 수 있기 때문에 구글에서는 가족정책을 도입하여 미성년자들이 무분별한 유해 컨텐츠에 노출되지 않도록 합니다.

만약 앱의 타켓 연령층에 미성년자들도 포함되어 있는데 광고에 성인등 유해 광고가 기재되면 앱이 정지될 수 있으니 주의해야 합니다.

| 유닛 생성완료 

아래 사진에서 생성된 'Ad Unit ID'는 코드로 광고 연동시 사용됩니다. 

| 배너 추가

저는 배너를 사용하기 때문에 그외 방법은 공식문서를 확인해주세요

 

build.gradle ( app level )

광고 아이디를 수집해야하기 때문에 google ads identifier도 추가합니다.

repositories {
    google()
    mavenCentral()
    ⋮
}
dependencies {
	implementation "com.applovin:applovin-sdk:+"
    implementation "com.google.android.gms:play-services-ads-identifier:18.0.1"
    ⋮
}

AndroidManifest.xml

공식 문서에 보시면 계정에 할당된 'keyvalue'가 나오는데 manifest 파일 application 태그 안에 작성합니다. 

※해당 키는 'Account > GENERAL > Keys' 에서도 확인할 수 있습니다.

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

배너 추가

배너 추가시 xml에 추가하는 방법과 코드로 추가하는 방법 두가지가 있습니다. 저는 xml에 추가하는 방법을 사용했습니다.

위에서 생성한 광고 유닛의 아이디를 작성합니다.

<com.applovin.mediation.ads.MaxAdView xmlns:maxads="http://schemas.applovin.com/android/1.0"
                android:id="@+id/adsMaxView"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                maxads:adUnitId="@string/applovin_ad_main_unit_id" />

리스너는 엑티비티에 선언했습니다.

class ChattingActivity : BaseActivity, MaxAdViewAdListener {

    private fun setApplovin(){
        AppLovinSdk.getInstance( this ).mediationProvider = "max"
        AppLovinSdk.initializeSdk( this){
            showApplovin()
        }
    }

    private fun showApplovin(){

        binding.adsMaxView.run {
            visibility = View.VISIBLE
            setListener(this@ChattingActivity)
            loadAd()
            startAutoRefresh()
        }
    }
    
    ....

}

광고를 비노출 할 경우 

binding.adsMaxView.setVisibility( View.GONE );
binding.adsMaxView.stopAutoRefresh();

광고를 다시 노출할 경우 

binding.adsMaxView.setVisibility( View.VISIBLE );
binding.adsMaxView.startAutoRefresh();

 

| 광고 테스트

테스트 광고 유닛 아이디를 제공하는 다른 광고 플랫폼과 다르게 디바이스의 광고 아이디를 등록합니다. 

( 'MAX > MANAGE > Test Mode' )

테스트 디바이스를 등록하고 테스트시 5001 에러가 발생할 수 있습니다. 디바이스가 등록되는 시간까지 몇시간이 소요되는것 같습니다. 

 

 

 

| 계좌 정보 등록

광고 수익을 돌려받을 계좌 정보를 등록해야합니다. 'Account > PAMENTS > Info'에서 진행하시면 되는데 주소등의 정보는 

기존에 작성한 포스팅을 참고해주세요

 

[Android] 외국인 대상 광고 플랫폼 - MoPub 배너

다국어 출시하면서 외국 사용자들에게 적합한 광고 sdk를 찾다가 추가하게 됐습니다. 효율에대한 내용은 추후에 올리도록 하겠습니다. 그리고 모펍은 minSdk 19 이상인 앱에만 추가할 수 있으니 참

superwony.tistory.com

실제 수익이 얼마나 발생할지 모르겠지만 초기엔 외국인들 대상으로만 사용해보고 나쁘지 않으면 국내에도 도입해볼 예정입니다.

 

유의미한 결과가 나온다면 공유하도록 하겠습니다.

 

 

 

 

반응형