본문으로 건너뛰기

CTA 에셋뷰의 강조된 배경색상 처리

Native 광고 CTA 에셋의 Background 색상 조회 API 사용

NAM SDK 6.5.0 버전에서 추가된 기능으로써, 네이티브 광고를 렌더링할 때 사용하는 에셋중 callToAction 애셋에 대해서 사용자가 관심을 표명한 시점(100% + 1초 노출) 과 같은 상황에서 사용할 수 있는 callToAction 버튼의 배경 색상값을 획득할 수 있는 API 가 추가됩니다.

lateinit var nativeAd: GfpNativeAd
lateinit var callToActionButton: Button
var callToActionHilightedBgColor: Int = Color.BLUE

val adLoader = GfpAdLoader.Builder(context, adParam)
.withAdListener(object: AdEventListener() {
// . . .
})
...
.withNativeAd(nativeAdOptions) { ad ->
this.nativeAd = ad
inflateNativeAd(adView, ad)
}
.build()
...

fun inflateNativeAd(parent: ViewGroup, nativeAd: GfpNativeAd) {
// . . .

callToActionButton = adView.findViewById(R.id.ad_call_to_action)
nativeAd.callToActionWithOption?.let { callToActionWithOption ->
callToActionButton.text = callToActionWithOption.text
callToActionWithOption.getHighlightedBgColor(context)?.let { highlightedBgColor ->
callToActionHilightedBgColor = highlightedBgColor
}
}
// . . .
}

GfpNativeAd.getCallToActionWithOption() 메서드는 nullable 한 반환값을 가지는 메서드이고

반환값이 되는 LabelOption 이 null 이 아닌 상황에서는 text 값을 보장받지만

getHighlightedBgColor(context) 메서드를 통해서 얻을 수 있는 배경색상값은 nullable 합니다.

nullable 한 배경색상값을 가지는 LabelOption 은 아래의 케이스에서 발생합니다.

  1. DFP, FAN, InMobi, ... 와 같이 callToAction 에 해당되는 문자열 정보만 전달하고 배경 색상값을 전달받을 수 없는 C2S 광고제공자의 응답일 때
  2. S2S 광고 응답(NDA 모듈 사용)이지만 배경 색상값을 가지지 않은 callToAction 응답이 내려왔을 때