네이티브에 진입 경로 추가
더 많은 사용자를 피드 지면으로 유도할 수 있도록 네이티브 지면에서 피드 지면으로 이동할 수 있는 진입 경로(엔트리 포인트)를 추가하는 방법을 확인할 수 있습니다.
네이티브 지면에는 네이티브 오버레이를 추가하거나 피드로 이동하는 레이아웃(NativeToFeedLayout
)을 추가하여 피드 지면 진입 경로를 설계할 수 있습니다.
준비 사항
- 네이티브 지면 기본 설정 완료
- 피드 지면 기본 설정 완료
네이티브 오버레이 추가하기
사용자가 네이티브 광고에 참여한 후 앱으로 되돌아오면 참여 완료 광고 위에 피드 진입을 유도하는 텍스트와 아이콘이 오버레이되도록 설정할 수 있습니다. 텍스트와 아이콘으로 구성되는 이 UI는 최소 1분의 간격을 두고 표시됩니다. 예를 들어, 네이티브 오버레이가 표시된 이후에 1분 동안은 광고 참여 후에 네이티브 오버레이가 표시되지 않습니다.
네이티브 오버레이를 사용하려면 Native 지면의 기본 설정 시 enableNativeToFeedOverlay()
를 추가하세요.
✏️ 참고
Native 지면의 기본 설정에 대한 자세한 내용은 네이티브 지면 기본 설정 토픽을 참고하세요.
viewBinder.bind(nativeAd);
nativeAdView.enableNativeToFeedOverlay(); // Native Overlay 기능 활성화
onResume
에서 Native 광고 할당 요청을 수행하면 앱으로 되돌아온 후에 광고가 재할당되어 네이티브 오버레이가 표시되지 않습니다. 네이티브 광고 할당에 대한 자세한 내용은 네이티브 광고 할당 및 표시하기 토픽을 참고하세요.
네이티브 광고 지면에 피드로 이동하는 레이아웃 추가하기
NativeAdView
레이아웃에 사용자가 클릭하면 바로 Feed로 이동하는 UI(NativeToFeedLayout
)를 추가할 수 있습니다. NativeToFeedLayout
은 자유롭게 구성할 수 있습니다. 아래 그림과 같이 Feed 이동 안내 텍스트와 화살표 아이콘을 적용하는 것을 추천합니다.
⚠️ 주의
NativeToFeedLayout
에<Button />
을 사용할 수 없습니다.
✏️ 참고
피드 이동 안내 텍스트에 Feed에 진입만 해도 받을 수 있는 포인트를 표시할 수도 있습니다. 자세한 내용은 기본 적립 포인트 표시하기 토픽을 참고하세요.
네이티브 광고 지면에서 피드 지면으로 이동하는 레이아웃을 추가하려면 다음의 절차를 따르세요.
NativeAdView
레이아웃에NativeToFeedLayout
를 추가하세요.<com.buzzvil.buzzad.benefit.presentation.nativead.NativeAdView>
<com.buzzvil.buzzad.benefit.presentation.feed.navigation.NativeToFeedLayout
android:id="@+id/your_native_to_feed_layout">
<!-- 레이아웃의 컴포넌트 정의는 생략했습니다 -->
<TextView />
<ImageView />
</com.buzzvil.buzzad.benefit.presentation.feed.navigation.NativeToFeedLayout>
</com.buzzvil.buzzad.benefit.presentation.nativead.NativeAdView>NativeToFeedLayout
에 Native Unit ID를 설정하세요.// Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
NativeToFeedLayout nativeToFeedLayout = findViewById(R.id.your_native_to_feed_layout);
nativeToFeedLayout.setNativeUnitId(YOUR_NATIVE_UNIT_ID);
}
기본 적립 포인트 표시하기
NativeToFeedLayout
에 피드에 진입하기만 해도 받을 수 있는 포인트(BaseReward
)를 표시해 사용자의 클릭율을 높일 수 있습니다.
다음은 NativeToFeedLayout
에 기본 적립 포인트를 표시하는 예시입니다.
BaseRewardManager baseRewardManager = BuzzAdBenefit.getBaseRewardManager();
@Override
public void onResume() {
super.onResume();
updateNavigationTextView();
}
private void updateNavigationTextView() {
baseRewardManager.getAvailableFeedBaseReward(
YOUR_FEED_UNIT_ID,
reward -> {
if (reward < 1) {
navigationTextView.setText("더 많은 참여 기회 보기");
} else {
navigationTextView.setText(String.format(Locale.ROOT, "%d 포인트 추가로 적립하고 더 많은 참여 기회 보기", reward));
}
}
);
}
⚠️ 주의
사용자에게 지급하는 포인트 금액의 정확하게 표시하기 위해Activity
의onResume()
시점에 기본 적립 포인트를 포함한 유도 문구를 업데이트해야 합니다.