Android 스플래시 광고 모바일 앱의 스플래시 화면(Splash Screen) 내 광고를 송출하는 형태입니다.
1. 메인 activity 설정
스플래시 화면이 되는 activity를 생성한 뒤, 안드로이드 12부터 제공하는 기본 스플래시 화면 뒤에 바로 노출되도록 스플래시 activity를 아래와 같이 메인 activity로 설정합니다.
Copy < activity
android : name = ".SplashActivity"
android : clearTaskOnLaunch = "true"
android : configChanges = "orientation|screenSize"
android : exported = "true"
android : theme = "@style/Theme.AppCompat" >
< intent-filter >
< action android : name = "android.intent.action.MAIN" />
< category android : name = "android.intent.category.LAUNCHER" />
</ intent-filter >
</ activity >
2. 스플래시 광고 인스턴스 생성
아래 코드를 추가하여 네이티브 광고 인스턴스를 생성 합니다.
JAVA Kotlin
Copy public class SplashActivity extends Activity {
private AdPopcornSSPSplashAd splashAd;
@Override
protected void onCreate (Bundle savedInstanceState) {
splashAd = (AdPopcornSSPSplashAd) findViewById ( R . id .splash_ad);
}
}
Copy private var splashAd : AdPopcornSSPSplashAd ? = null
override fun onCreate (savedInstanceState: Bundle ?) {
// Layout xml 사용할 경우
splashAd = findViewById (R.id.splash_ad)
}
3. 스플래시 광고 Placement ID 설정
아래 코드를 추가하여 스플래시광고 PLACEMENT ID 를 설정합니다. 스플래시광고 PLACEMENT ID 는 애드팝콘 SSP 콘솔 에서 생성이 가능합니다.
JAVA Kotlin
Copy splashAd . setPlacementId ( "스플래시_PlacementId" );
Copy splashAd?. setPlacementId ( "스플래시PlacementId" )
4. 스플래시 광고 타입 설정
setFullScreenSplash()
API를 추가하여 스플래시 광고의 타입을 설정 합니다.
JAVA Kotlin
Copy splashAd . setFullScreenSplash ( false ); // 기본값 : 일반모드(false)
Copy splashAd?. setFullScreenSplash ( false ) // 기본값 : 일반모드(false)
지원 하는 형태의 광고는 총 2가지 이며, 아래 예시와 같이 노출됩니다.
정사각형 형태의 광고가 노출됩니다. 이에 로고 하단에 노출시켜줍니다.
전체 화면을 채우는 형태의 광고가 노출됩니다.
5. 스플래시 광고 요청
loadAd()
API를 호출하여 스플래시 광고를 요청합니다.
loadAd
호출에 대한 결과로 광고 수신에 실패한 경우에는 loadAd
재호출을 하시면 안됩니다. 과도한 광고 요청 api 호출은 block 사유가 됩니다.
6. 스플래시 광고 종료
destory()
API를 통해서스플래시 activity가 destroy 될 때 추가하여 종료 처리 합니다.
7. 스플래시 광고 이벤트 리스너
스플래시 광고에서 발생하는 이벤트를 받고자 할 경우 , 이벤트 리스너를 생성하여 전달해 줍니다.
이벤트 리스너를 통해 들어오는 이벤트들을 아래와 같습니다.
JAVA Kotlin
Copy splashAd . setSplashAdEventCallbackListener ( new ISplashAdEventCallbackListener() {
@ Override
public void onSplashAdLoadSuccess () {
}
@ Override
public void onSplashAdLoadFailed ( SSPErrorCode errorCode) {
}
@ Override
public void onImpression () {
}
});
Copy splashAd?. setSplashAdEventCallbackListener ( object : ISplashAdEventCallbackListener {
override fun onSplashAdLoadSuccess () {
}
override fun onSplashAdLoadFailed (errorCode: SSPErrorCode ) {
}
override fun onImpression () {
}
})
8. 스플래시 광고 이벤트 처리
아래 코드와 같이 광고 요청에 성공한 경우에는 원하는 시간 만큼 delay 후 MainActivity로 전환시키며, 광고 요청 실패 이벤트를 받을 경우 바로 MainActivity로 전환시켜 줍니다.
JAVA Kotlin
Copy splashAd . setSplashAdEventCallbackListener ( new ISplashAdEventCallbackListener() {
@ Override
public void onSplashAdLoadSuccess () {
new Handler() . postDelayed ( new Runnable() {
@ Override
public void run () {
Intent intent = new Intent( SplashActivity . this , MainActivity . class ) ;
startActivity(intent) ;
finish() ;
}
} , 3000 );
}
@ Override
public void onSplashAdLoadFailed ( SSPErrorCode errorCode) {
Intent intent = new Intent( SplashActivity . this , MainActivity . class ) ;
startActivity(intent) ;
finish() ;
}
@ Override
public void onImpression () {
}
});
Copy splashAd?. setSplashAdEventCallbackListener ( object : ISplashAdEventCallbackListener {
override fun onSplashAdLoadSuccess () {
Handler (Looper. getMainLooper ()). postDelayed ({
val nextIntent = Intent ( this , MainActivity:: class .java)
startActivity (nextIntent)
finish ();
}, 3000 )
}
override fun onSplashAdLoadFailed (errorCode: SSPErrorCode ) {
val nextIntent = Intent ( this , MainActivity:: class .java)
startActivity (nextIntent)
finish ();
}
override fun onImpression () {
}
})
Last updated 7 months ago