개요
Native 광고 지면에 Feed로 이동할 수 있는 진입경로를 추가하여 더 많은 유저가 Feed로 진입할 수 있도록 합니다.
기본 요건
Native 연동 완료
Feed 연동 완료
BuzzAdBenefit SDK 2.16.x 이상
설정 방법
Native ad에서 Feed 로 진입할 수 있는 레이아웃인 NativeToFeedLayout
클래스를 제공합니다.NativeToFeedLayout
을 배치하여 Native 지면에 추가합니다.
Step 1. NativeToFeedLayout 추가
Native Ad에 사용할 Layout에 NativeToFeedLayout
을 추가해줍니다. NativeToFeedLayout
은 비어있는 레이아웃이기 때문에 원하시는 레이아웃을 자유롭게 구성할 수 있습니다. 위 그림의 예시처럼 피드로 이동하는 안내 텍스트와 화살표 아이콘을 사용하시는 것을 추천합니다.
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout ... <com.buzzvil.buzzad.benefit.presentation.feed.navigation.NativeToFeedLayout android:id="@+id/native_to_feed_layout" ...> <TextView ... /> <ImageView ... /> </com.buzzvil.buzzad.benefit.presentation.feed.navigation.NativeToFeedLayout> ... </androidx.constraintlayout.widget.ConstraintLayout>
Step 2. Native Ad Unit 설정
NativeToFeedLayout
을 레이아웃에 추가하셨다면, 해당 레이아웃을 찾아서 Unit ID를 설정해야 합니다.
이때 사용되는 Unit은 Native Ad를 보여주기 위해 사용하는 Native Ad Unit ID입니다.
@Override protected void onCreate(Bundle savedInstanceState) { ... NativeToFeedLayout nativeToFeedLayout = findViewById(R.id.native_to_feed_layout); nativeToFeedLayout.setNativeUnitId(YOUR_NATIVE_UNIT_ID); ... }
Step 3. (Optional) 베이스 리워드 표시
위의 이미지는 NativeToFeedLayout에 베이스리워드(2포인트)를 표시한 예시입니다.
NativeToFeedLayout
의 클릭율을 높이기 위해 현재 NativeToFeedLayout
를 클릭해서 Feed에 진입했을때 받을 수 있는 베이스 리워드를 표시할 수 있습니다. 그러기 위해서는 유저가 피드에 진입하면 받을 수 있는 베이스 리워드가 얼마인지 알아야 하기 때문에 다음과 같이 BaseRewardManager
클래스를 이용할 수 있습니다. BaseRewardManager.getAvailableFeedBaseReward()
함수를 호출해 베이스 리워드를 조회할 수 있습니다.
BaseRewardManager baseRewardManager = BuzzAdBenefit.getBaseRewardManager(); @Override public void onStart() { super.onStart(); updateNavigationTextView(); } @Override public void onStop() { super.onStop(); baseRewardManager.clear(); } 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
의onStart()
시점에 텍스트를 업데이트 해주세요.메모리 누수를 방지하기 위해
Activity
의onStop()
시점에BaseRewardManager.clear()
함수를 호출해주세요.