라이트 팝업 형태 소개

  • 위와 같은 팝업 형태로 뜨는 광고 유형입니다.
  • 8초 후에 자동으로 닫히게 됩니다. 인터스티셜이나, 네이티브보다 ux를 해치지 않고 광고를 보여줄 수 있습니다.
  • 라이트 팝업 광고는 0.4.8 버전부터 지원합니다.

Loader 생성하기

val lightPopupLoader = DaroMLightPopupAdLoader(
    adLightPopupUnit = DaroMAdLightPopupUnit(
      unitId = ${unitId},
      placementName = ${placementName}, // 로그 상 보여질 이름입니다. 공백을 보내도 무관합니다.
    )
)

광고 로드 및 그리기

  1. load()를 호출하면 onSuccess 콜백을 통해 광고 객체를 얻을 수 있습니다.

    lightPopupLoader.load(
      context = this,
      onSuccess = { ad ->
        // 광고 객체(ad) 사용
      },
      onFailure = { err ->
        // 에러 처리
      }
    )
    
  2. onSuccess에서 받아온 광고 객체에 show()를 호출해서 광고를 보여줄 수 있습니다.

    ad.show(
      activity = ...,
      adListener = object : DaroMLightPopupAdListener {   
        override fun onShown() {
          // 광고가 화면에 표시됨
        }
    
        override fun onDismiss() {
          // 광고가 닫힘
        }
    
        override fun onFailedToShow(errorMsg: String){
          // 광고 표시 실패
        }
      }
    )
    

    DaroMLightPopupAdListener를 통해 광고 표시, dismiss 이벤트 등을 관리할 수 있습니다.


광고 커스터마이징 하기

DaroMLightPopupAdOptions를 사용해서 라이트 팝업의 색상, 버튼 텍스트 등 다양한 UI 요소를 커스터마이징할 수 있습니다.

import androidx.core.graphics.toColorInt

val customOptions = DaroMLightPopupAdOptions(
  backgroundColor = "#FF000000".toColorInt(),           // 배경색 (예: 검정)
  containerColor = "#FF222222".toColorInt(),            // 컨테이너 색상
  titleColor = "#FFFFFFFF".toColorInt(),                // 타이틀 텍스트 색상
  bodyColor = "#FFAAAAAA".toColorInt(),                 // 본문 텍스트 색상
  ctaBackgroundColor = "#FFFF0000".toColorInt(),        // CTA(버튼) 배경색
  ctaTextColor = "#FFFFFFFF".toColorInt(),              // CTA(버튼) 텍스트 색상
  closeButtonText = "닫기",                              // 닫기 버튼 텍스트
  closeButtonColor = "#FFFFFFFF".toColorInt(),          // 닫기 버튼 텍스트 색상
  adMarkLabelTextColor = "#FFFFFFFF".toColorInt()       // 상단 ad 마크 텍스트 색상
  adMarkLabelBackgroundColor = "#FFFFFFFF".toColorInt() // 상단 ad 마크 배경 색상
)

val lightPopupLoader = DaroMLightPopupAdLoader(
  adLightPopupUnit = DaroMAdLightPopupUnit(
    unitId = ...,
    placementName = ...,
  ),
)

lightPopupLoader.setOptions(customOptions)

lightPopupLoader.load(
    ...
)