전면광고(Interstitial)

Interstitial(전면광고), InterstitialVideo(전면비디오광고), RewardVideo(리워드 비디오 광고)를 함께 지원합니다.

Activity Lifecycle(onResume, onPause, onDestroy)를 통해 InterstitialAdLoader의 동일한 함수 호출이 필요합니다.


InterstitialAdLoader

InterstitialAdLoader


InterstitialAdLoader(
    ownerActivity: Activity,
    placementId: String,
    listener: InterstitialListener
).requestAD()

parameters

name
type
description

ownerActivity

Activity

android activity

placementId

String

전면 광고 지면 코드

listener

InterstitialListener

전면 광고 리스너 listener(InterstitialListener) 참고

listener(InterstitialListener)

interface InterstitialListener {
    // 전면 광고 로드 성공
    // executor -> executor.show() 광고 노출
    // adType -> 로그된 광고 타입(InterstitialAdType 참고)
    fun onLoaded(executor: InterstitialExecutor, adType: InterstitialAdType)

    // 전면 광고 노출 성공
    fun onOpened()
    
    // 전면 광고 종료
    // completed -> 리워드 비디오의 경우 리워드 지급 조건 충족 여부
    fun onClosed(completed: Boolean)
    
    // 전면 광고 로드 또는 노출 실패
    // AdError 클래스 참고
    fun onFailed(error: AdError)
    
    // 전면 광고 클릭
    fun onClicked()
}

// data class
data class AdError(
    // 에러 코드
    val errorCode: Int,
    // 에러 사유
    val errorMessage: String
)

InterstitialAdType

type
description

INTERSTITIAL

전면광고

INTERSTITIAL_NATIVE

전면 네이티브 광고(ADCash에서 별도 구현된 네이티브 광고)

INTERSTITIAL_BOX

300X250 크기의 네이티브 광고

INTERSTITIAL_HOUSE

3020X480 크기의 하우스 광고

INTERSTITIAL_VIDEO

전면 비디오 광고

INTERSTITIAL_REWARD_VIDEO

전면 리워드 비디오 광고

private var interstitialAdLoader: InterstitialAdLoader? = null

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(vb.root)
  interstitialAdLoader = InterstitialAdLoader(
    ownerActivity = this,
    placementId = "${지면코드(APID)}",
    listener = object : InterstitialAdLoader.InterstitialListener {
      override fun onLoaded(
        executor: InterstitialAdLoader.InterstitialExecutor, 
        adType: InterstitialAdType) {
          // interstitialExecutor의 show() 함수를 통해 광고를 노출 합니다.
	  executor.show()
      }
      
      override fun onOpened() {
        // 광고 노출 성공
      }
      
      override fun onClosed(completed: Boolean) {
        // 광고 종료
        // completed: 리워드 광고 시청 완료 또는 일반 지면 정상 종료 여부
      }
      
      override fun onFailed(error: AdError) {
        // 광고 오류
      }
      
      override fun onClicked() {
        // 광고 클릭
      }
    }
  )
  interstitialAdLoader?.requestAd()
}

override fun onResume() {
  super.onResume()
  interstitialAdLoader?.onResume()
}

override fun onPause() {
  super.onPause()
  interstitialAdLoader?.onPause()
}

override fun onDestroy() {
  super.onDestroy()
  interstitialAdLoader?.onDestroy()
}

Last updated