CTA 에셋뷰의 강조된 배경색상 처리
Native 광고 CTA 에셋의 Background 색상 조회 API 사용
NAM SDK 6.5.0 버전에서 추가된 기능으로써, 네이티브 광고를 렌더링할 때 사용하는 에셋중 callToAction
애셋에 대해서 사용자가 관심을 표명한 시점(100% + 1초 노출) 과 같은 상황에서 사용할 수 있는 callToAction
버튼의 배경 색상값을 획득할 수 있는 API 가 추가됩니다.
- Kotlin
- Java
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 nativeAd;
Button callToActionButton;
int callToActionHighlightedBgColor = Color.BLUE;
GfpAdLoader adLoader = new GfpAdLoader.Builder(context, adParam)
.withAdListener(new AdEventListener() {
// ...
})
// ...
.withNativeAd(nativeAdOptions, ad -> {
nativeAd = ad;
inflateNativeAd(adView, ad);
})
.build();
// ...
void inflateNativeAd(ViewGroup parent, GfpNativeAd nativeAd) {
// ...
callToActionButton = adView.findViewById(R.id.ad_call_to_action);
if (nativeAd.getCallToActionWithOption() != null) {
CallToActionWithOption callToActionWithOption = nativeAd.getCallToActionWithOption();
callToActionButton.setText(callToActionWithOption.getText());
Integer highlightedBgColor = callToActionWithOption.getHighlightedBgColor(context);
if (highlightedBgColor != null) {
callToActionHighlightedBgColor = highlightedBgColor;
}
}
// ...
}
GfpNativeAd.getCallToActionWithOption()
메서드는 nullable
한 반환값을 가지는 메서드이고
반환값이 되는 LabelOption
이 null 이 아닌 상황에서는 text 값을 보장받지만
getHighlightedBgColor(context)
메서드를 통해서 얻을 수 있는 배경색상값은 nullable
합니다.
nullable 한 배경색상값을 가지는 LabelOption
은 아래의 케이스에서 발생합니다.
- DFP, FAN, InMobi, ... 와 같이
callToAction
에 해당되는 문자열 정보만 전달하고 배경 색상값을 전달받을 수 없는 C2S 광고제공자의 응답일 때 - S2S 광고 응답(NDA 모듈 사용)이지만 배경 색상값을 가지지 않은
callToAction
응답이 내려왔을 때