/
(ver 2.25.x) 4.2. 고급 설정
(ver 2.25.x) 4.2. 고급 설정
목차
개요
본 가이드는 Native 지면에서 추가적으로 제공하는 기능에 대하여 추가적으로 설명합니다. 필요에 따라 가이드를 참고하시어 더욱 고도화할 수 있습니다.
CtaView 버튼 커스터마이징
BuzzAd Android SDK 에서 기본으로 제공하는 CtaView UI 및 처리 로직을 사용하지 않고 구현을 원하는 경우에는 다음과 같이 수정할 수 있습니다.
public void populateAd(final NativeAd nativeAd) {
final NativeAdView view = findViewById(R.id.native_ad_view);
final Ad ad = nativeAd.getAd();
// create ad component
...생략...
final YourCtaView ctaView = view.findViewById(R.id.your_cta_view);
updateCtaStatus(ctaView, nativeAd);
...생략...
final List<View> clickableViews = new ArrayList<>();
clickableViews.add(customizedCtaView);
...생략...
nativeAdView.addOnNativeAdEventListener(new NativeAdView.OnNativeAdEventListener() {
...(생략)...
@Override
public void onClicked(@NonNull NativeAdView view, @NonNull NativeAd nativeAd) {
updateCtaStatus(ctaView, nativeAd);;
}
@Override
public void onParticipated(@NonNull NativeAdView view, @NonNull NativeAd nativeAd) {
updateCtaStatus(ctaView, nativeAd);
}
});
}
// 기획에 따라 수정될 수 있는 예시 코드입니다.
void updateCtaStatus(YourCtaView ctaView, NativeAd nativeAd) {
final String callToAction = nativeAd.getAd().getCallToAction();
final int reward = nativeAd.getAvailableReward();
final int totalReward = nativeAd.getAd().getReward();
final boolean participated = nativeAd.isParticipated();
final boolean isClicked = nativeAd.isClicked();
final boolean isActionType = nativeAd.getAd().isActionType();
if (isClicked && isActionType && !participated) {
ctaView.setCtaText("참여 확인 중");
ctaView.setRewardIcon(null);
ctaView.setRewardText(null);
} else {
if (totalReward > 0 && participated) {
ctaView.setRewardIcon(R.drawable.your_reward_received_icon);
ctaView.setRewardText(null);
ctaView.setCtaText("참여 완료");
} else if (reward > 0) {
ctaView.showRewardImage(R.drawable.your_reward_icon);
ctaView.setRewardText(String.format(Locale.US, "+%,d", reward));
ctaView.setCtaText(callToAction);
} else {
ctaView.showRewardImage(null);
ctaView.setRewardText(null);
ctaView.setCtaText(callToAction);
}
}
}
한번에 여러 개의 광고 로드
한 번의 광고 요청으로 여러 개의 광고를 할당받을 수 있습니다. 최대 10개까지 가능합니다.
다음은 NATIVE_ADS_COUNT
를 지정하여 여러 개의 광고를 할당받는 예시입니다.
final NativeAdLoader loader = new NativeAdLoader("YOUR_NATIVE_AD_UNIT_ID");
loader.loadAds(new NativeAdLoader.OnAdsLoadedListener() {
@Override
public void onLoadError(@NonNull AdError adError) {
...
}
@Override
public void onAdsLoaded(@NonNull Collection<NativeAd> collection) {
...
}
}, NATIVE_ADS_COUNT);
비디오 광고 리스너 등록
비디오형 광고에서 발생하는 이벤트를 수신할 수 있습니다.
다음은 MediaView
에 비디오 광고 이벤트 리스너를 등록하는 예시입니다.
mediaView.setVideoEventListener(new VideoEventListener() {
@Override
public void onVideoStarted() {
}
@Override
public void onError(@NonNull VideoErrorStatus videoErrorStatus, @Nullable String errorMessage) {
if (errorMessage != null) {
Toast.makeText(mediaView.getContext(), errorMessage, Toast.LENGTH_SHORT).show();
}
}
@Override
public void onResume() {
}
@Override
public void onPause() {
}
@Override
public void onReplay() {
}
@Override
public void onVideoEnded() {
// 동영상 재생 완료시 필요한 처리
}
@Override
public void onLanding() {
// 동영상 광고 랜딩시 필요한 처리
}
});
, multiple selections available,
Related content
(ver 2.31.x) 4.2. 고급 설정
(ver 2.31.x) 4.2. 고급 설정
More like this
(ver 2.29.x) 4.2. 고급 설정
(ver 2.29.x) 4.2. 고급 설정
More like this
4.3. 디자인 커스터마이징
4.3. 디자인 커스터마이징
More like this
(ver 2.29.x) 11. 마이그레이션 가이드
(ver 2.29.x) 11. 마이그레이션 가이드
More like this
(ver 2.31.x) 11. 마이그레이션 가이드
(ver 2.31.x) 11. 마이그레이션 가이드
More like this
Native Ads 타입
Native Ads 타입
More like this