Skip to main content

라이트 팝업 광고 형태 소개

  • 전면 광고 유형입니다.
  • 8초 후에 자동으로 닫히게 됩니다. 인터스티셜이나, 리워드 비디오보다 ux를 해치지 않고 광고를 보여줄 수 있습니다.
라이트 팝업 예시

광고 연동하기

1

adUnit 생성

val adUnit = DaroLightPopupAdUnit(
    key = ${AdUnitId},
    placement = ${placement}, //로그 상 보여질 이름입니다. 공백을 보내도 무관합니다.
    options = DaroLightPopupAdOptions()
)
2

Loader 생성 및 광고 로드

val loader = DaroLightPopupAdLoader(
    context = context,
    adUnit = adUnit
)
loader.setListener(object : DaroLightPopupAdLoaderListener {
    override fun onAdLoadSuccess(ad: DaroLightPopupAd, adInfo: DaroAdInfo) {
        // ...
    }
    override fun onAdLoadFail(err: DaroAdLoadError) {
        // ...
    }
})
loader.load()
3

리스너 설정 및 광고 표시

loader.setListener(object : DaroLightPopupAdLoaderListener {
    override fun onAdLoadSuccess(ad: DaroLightPopupAd, adInfo: DaroAdInfo) {
        ad.setListener(object : DaroLightPopupAdListener {
            override fun onAdImpression(adInfo: DaroAdInfo) {}
            override fun onAdClicked(adInfo: DaroAdInfo) {}
            override fun onShown(adInfo: DaroAdInfo) {}
            override fun onFailedToShow(adInfo: DaroAdInfo, error: DaroAdDisplayFailError) {}
            override fun onDismiss(adInfo: DaroAdInfo) {}
        })
        ad.show(activity = this@MainActivity)
    }
    override fun onAdLoadFail(err: DaroAdLoadError) {}
})
4

광고 시청 완료 후 destroy 호출

ad.destroy()

Example

private fun showLightPopupAd() {
  DaroLightPopupAdLoader(
    context = context,
    adUnit = DaroLightPopupAdUnit(
      key = ${AdUnitId},
      placement = ${placement}
    )
  ).apply {
    setListener(object : DaroLightPopupAdLoaderListener {
      override fun onAdLoadSuccess(
        ad: DaroLightPopupAd,
        adInfo: DaroAdInfo,
      ) {
        Log.d("Ad Test", "lightpopup - success")

        ad.setListener(object : DaroLightPopupAdListener {
          override fun onAdImpression(adInfo: DaroAdInfo) {
            Log.d("Ad Test", "lightpopup - impression")
          }

          override fun onAdClicked(adInfo: DaroAdInfo) {
            Log.d("Ad Test", "lightpopup - clicked")
          }

          override fun onShown(adInfo: DaroAdInfo) {
            Log.d("Ad Test", "lightpopup - onShown")
          }

          override fun onFailedToShow(
            adInfo: DaroAdInfo,
            error: DaroAdDisplayFailError,
          ) {
            Log.d("Ad Test", "lightpopup - onFailedToShow")
          }

          override fun onDismiss(adInfo: DaroAdInfo) {
            Log.d("Ad Test", "lightpopup - onDismiss")
            ad.destory()
          }
        })

        ad.show(activity = this@MainActivity)
      }

      override fun onAdLoadFail(err: DaroAdLoadError) {
        Log.d("Ad Test", "lightpopup - fail : ${err.message}")
      }
    }
    )
    load()
  }
}
I