안드로이드 스플래시 광고

스플래시 광고는 앱이 최초 실행될 때 앱의 로고와 함께 화면 하단에 1초 내외의 짧은 시간동안 보여지는 광고를 말합니다. 앱 기동 시 Adrop SDK의 스플래시 광고 스크린이 가장 먼저 표시되도록 구현하여 자연스럽게 광고를 노출한 후 앱의 메인 화면으로 넘어갑니다.

1단계. 리소스 추가

아래 리소스를 추가해주세요. 스플래시 광고 직후에 실행 될 메인 액티비티 이름을 패키지명을 포함해서 입력해주세요. 광고 Unit Id 는 Adrop 콘솔에서 생성한 스플래시 애드 Unit Id를 입력해주세요. 개발용 광고 Unit Id 는 PUBLIC_TEST_UNIT_ID_SPLASH 입니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="adrop_splash_ad_next_activity" 
    translatable="false">{your_init_activity}
    </string> <!-- com.company.app.MainActivity -->
    <string name="adrop_splash_ad_unit_id" 
    translatable="false">{your_splash_unit_id}
    </string> <!-- PUBLIC_TEST_UNIT_ID_SPLASH for test -->
    <integer name="adrop_splash_ad_max_timeout">1000
    </integer> <!-- (optional) default 1s -->
</resources>

- values/theme.xml

아래 스타일과 같이 SplashTheme 의 parent를 수정해주세요.

<style 
    name="Theme.App.SplashTheme"
    parent="Theme.AppCompat.NoActionBar"/>

- values-v31/theme.xml

API 31 (안드로이드 12) 부터 아래 설정이 필요합니다.

  1. 스플래시 화면에 표시 될 로고 이미지를 추가하고, windowSplashScreenAnimatedIcon 에 입력해주세요.

  2. windowSplashScreenBackground 에 배경 색상을 입력해주세요.

<style name="Theme.App.SplashTheme" parent="Theme.SplashScreen"> 
    <item name="windowSplashScreenAnimatedIcon">@drawable/your_logo</item>
    <item name="windowSplashScreenBackground">#ffffff</item>
    <item name="windowSplashScreenAnimationDuration">200</item>
    <item name="postSplashScreenTheme">@style/Theme.App.SplashTheme.TranslucentStatus</item>
</style>

<style name="Theme.App.SplashTheme.TranslucentStatus" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowTranslucentStatus">true</item>
</style>

2단계. Androidmanifest.xml 수정

  1. io.adrop.ads.splash.AdropSplashAdActivity 액티비티를 매니페스트에 추가해주세요.

  2. 기존의 메인 액티비티가 실행되지 않도록 android.intent.action.MAINandroid.intent.category.LAUNCHER 를 삭제해주세요.

<application>
	...
	<activity
	    android:name="io.adrop.ads.splash.AdropSplashAdActivity"
	    android:exported="true"
	    android:theme="@style/Theme.App.SplashTheme"
            tools:replace="android:theme">
	    <intent-filter>
	        <action android:name="android.intent.action.MAIN"/>
	        <category android:name="android.intent.category.LAUNCHER"/>
	    </intent-filter>
	</activity>
	...
</application>

3단계. layout/activity_adrop_splash_ad.xml 추가

  1. 파일을 추가하신 후, 로고 이미지와 배경 색상을 수정해주세요.

  2. adrop_splash_ad_image 는 스플래시 광고에 사용될 뷰이므로, 삭제하시면 안됩니다.

스플래시 화면이 자연스럽게 이어지려면, 첨부파일에서 뷰의 위치는 수정되지 않아야 합니다.

(선택) 고급 설정

  1. 스플래시 광고의 on / off 를 컨트롤 하고 싶을 경우 콜백 함수를 활용할 수 있습니다.

class YourApp: Application {
    // Before splash activity start
    val splashAd = AdropSplashAd(application) {
        return remoteConfig.getValue("").asBoolean()
    }
    splashAd.splashAdListener = object : AdropSplashAdListener {
        override fun onAdReceived(ad: AdropSplashAd) {
            Log.d("Adrop", "splash ad received ${ad.unitId}")
        }

        override fun onAdFailedToReceive(ad: AdropSplashAd, errorCode: AdropErrorCode) {
            Log.d("Adrop", "splash ad failed to receive ${ad.unitId}, $errorCode")
        }

        override fun onAdImpression(ad: AdropSplashAd) {
            Log.d("Adrop", "splash ad onAdImpression ${ad.unitId}")
        }
    }
    ...
}

...
// When you want to stop splash before finishing
splashAd.close()
  1. 스플래시 광고가 노출되는 도중 중단하고 싶을 경우, close() 함수를 호출 할 수 있습니다.

// When you want to stop splash before finishing
splashAd.close()

Last updated