스플래시 광고

모바일 앱의 스플래시 화면(Splash Screen) 내 광고를 송출하는 형태입니다.

1. 메인 activity 설정

스플래시 화면이 되는 activity를 생성한 뒤, 안드로이드 12부터 제공하는 기본 스플래시 화면 뒤에 바로 노출되도록 스플래시 activity를 아래와 같이 메인 activity로 설정합니다.

<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. 스플래시 광고 인스턴스 생성

아래 코드를 추가하여 네이티브 광고 인스턴스를 생성 합니다.

public class SplashActivity extends Activity{
    private AdPopcornSSPSplashAd splashAd;
     	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	splashAd = (AdPopcornSSPSplashAd) findViewById(R.id.splash_ad);
    }
}

3. 스플래시 광고 Placement ID 설정

아래 코드를 추가하여 스플래시광고 PLACEMENT ID 를 설정합니다. 스플래시광고 PLACEMENT ID 는 애드팝콘 SSP 콘솔에서 생성이 가능합니다.

splashAd.setPlacementId("스플래시_PlacementId");

4. 스플래시 광고 타입 설정

setFullScreenSplash() API를 추가하여 스플래시 광고의 타입을 설정 합니다.

splashAd.setFullScreenSplash(false); // 기본값 : 일반모드(false)

지원 하는 형태의 광고는 총 2가지 이며, 아래 예시와 같이 노출됩니다.

광고 타입설명예시 이미지

일반 모드(false)

정사각형 형태의 광고가 노출됩니다. 이에 로고 하단에 노출시켜줍니다.

전체 화면 모드(true)

전체 화면을 채우는 형태의 광고가 노출됩니다.

5. 스플래시 광고 요청

loadAd()API를 호출하여 스플래시 광고를 요청합니다.

splashAd.loadAd();

loadAd 호출에 대한 결과로 광고 수신에 실패한 경우에는 loadAd 재호출을 하시면 안됩니다. 과도한 광고 요청 api 호출은 block 사유가 됩니다.

6. 스플래시 광고 종료

destory() API를 통해서스플래시 activity가 destroy 될 때 추가하여 종료 처리 합니다.

splashAd.destory();

7. 스플래시 광고 이벤트 리스너

스플래시 광고에서 발생하는 이벤트를 받고자 할 경우 , 이벤트 리스너를 생성하여 전달해 줍니다.

이벤트 리스너를 통해 들어오는 이벤트들을 아래와 같습니다.

이벤트 리스너설명

onSplashAdLoadSuccess

스플래시 광고 요청 성공 시

onSplashAdLoadFailed

스플래시 광고 요청 실패 시. 에러코드 값

onImpression

스플래시 광고가 화면에 노출되었을 때

splashAd.setSplashAdEventCallbackListener(new ISplashAdEventCallbackListener() {
    @Override
    public void onSplashAdLoadSuccess() {
    }

    @Override
    public void onSplashAdLoadFailed(SSPErrorCode errorCode) {
    }

    @Override
    public void onImpression() {
    }
});

8. 스플래시 광고 이벤트 처리

아래 코드와 같이 광고 요청에 성공한 경우에는 원하는 시간 만큼 delay 후 MainActivity로 전환시키며, 광고 요청 실패 이벤트를 받을 경우 바로 MainActivity로 전환시켜 줍니다.

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() {
    }
});

Last updated