Table of Contents |
---|
Native 에 더보기 버튼 연동 (Feed entry point 추가하기)
Info |
---|
2.16.x 이상 버전 부터 사용 가능합니다. |
Native ad에서 Feed 로 진입할 수 있는 레이아웃인 NativeToFeedLayout
클래스를 제공합니다. Native Ad는 레이아웃을 매체사에 정하고 있기 때문에 NativeToFeedLayout
또한 매체사가 원하는 부분에 배치하시면 됩니다.
...
NativeToFeedLayout
은 default onClickListener()
가 설정되어 있는 LinearLayout
입니다. NativeToFeedLayout
을 연동하기 위해서는 아래의 절차가 필요합니다.
Step 1. FeedConfig 설정
NativeToFeedLayout
을 사용하기 위해서는 BuzzAdBenefit.init()
시점에 feedConfig
을 추가해주어야 합니다. 이미 FeedConfig에 대한 설정을 마치셨다면 다음 단계로 이동해주세요.
Code Block | ||
---|---|---|
| ||
private void initializeBuzzAdBenefit(Context context) {
final FeedConfig feedConfig = new FeedConfig.Builder(context, YOUR_FEED_UNIT_ID)
... // customization code can be added
.build();
final BuzzAdBenefitConfig buzzAdBenefitConfig = configBuilder
.setFeedConfig(feedConfig)
.build();
BuzzAdBenefit.init(context, buzzAdBenefitConfig);
} |
Step 2. NativeToFeedLayout 추가
...
개요
Native 지면에서 Feed 지면으로 이동할 수 있는 진입경로를 추가하여 더 많은 유저가 Feed 지면로 진입할 수 있도록 합니다.
기본 요건
Native 연동 완료
Feed 연동 완료
설정 방법
...
Step 1. NativeToFeedLayout 추가
NativeAdView
Layout에 NativeToFeedLayout
을 추가합니다. NativeToFeedLayout
은 자유롭게 구성할 수 있습니다. 위 그림의 예시처럼 피드로 유저에게 Feed 지면으로 이동하는 안내 텍스트와 문구와 화살표 아이콘을 사용하시는 것을 추천합니다. (단, 버튼은 사용할 수 없습니다.)
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout<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> ...생략... </androidx.constraintlayout.widget.ConstraintLayout> |
...
com.buzzvil.buzzad.benefit.presentation.nativead.NativeAdView> |
Step 2. Native Ad Unit 설정
NativeToFeedLayout
을 매체사의 레이아웃에 추가하셨다면, 해당 레이아웃을 찾아서, 추가한 NativeToFeedLayout
에 Native Unit ID를 설정해야 합니다. 이때 사용되는 Unit은 Native Ad를 보여주기 위해 사용하는 Native Ad Unit ID입니다.
Code Block | ||
---|---|---|
| ||
@Override protected void onCreate(Bundle savedInstanceState) { ...생략... NativeToFeedLayout nativeToFeedLayout = findViewById(R.id.your_native_to_feed_layout); nativeToFeedLayout.setNativeUnitId(YOUR_NATIVE_UNIT_ID); ...생략... } |
Step
...
3. (Optional) 베이스 리워드 표시
아래의 이미지는 NativeToFeedLayout에 베이스리워드(2포인트)를 표시한
...
NativeToFeedLayout
의 클릭율을 높이기 위해 현재 NativeToFeedLayout
를 클릭해서 Feed에 진입했을때 받을 수 있는 베이스 리워드를 표시할 수 있습니다. 그러기 위해서는 유저가 피드에 진입하면 받을 수 있는 베이스 리워드가 얼마인지 알아야 하기 때문에 다음과 같이 BaseRewardManager
클래스를 이용할 수 있습니다. BaseRewardManager.getAvailableFeedBaseReward()
함수를 호출해 베이스 리워드를 조회할 예시입니다.
...
NativeToFeedLayout
베이스 리워드를 표시하여 클릭율이 높일 수 있습니다. 베이스 리워드는 BaseRewardManager
를 통해 조회할 수 있습니다.
아래 가이드에 따라 NativeToFeedLayout
에 베이스 리워드를 표시할 수 있습니다.
Code Block | ||
---|---|---|
| ||
BaseRewardManager baseRewardManager = BuzzAdBenefit.getBaseRewardManager(); @Override public void onStartonResume() { super.onStartonResume(); 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)); } } ); } |
Note |
---|
|
...
|
...
|
...
메모리 누수를 방지하기 위해 Activity
의 onStop()
시점에 BaseRewardManager.clear()
함수를 호출해주세요.
Interstitial 에 더보기 버튼 연동(Feed entry point 추가하기)
Interstitial Ad에서 Feed 로 진입할 수 있는 방법을 제공합니다. Interstitial Ad를 보여주기 위해 InterstitialAdConfig
클래스를 사용하는데 이때 navigateCommand
를 설정하면 Feed로 진입할 수 있는 레이아웃이 보여지게 됩니다. navigateCommand
객체를 생성할 때 SDK에 설정한 Feed의 Unit ID를 넘겨줘야 합니다.
Code Block |
---|
new InterstitialAdConfig.Builder()
... 생략
.navigateCommand(NavigateToFeedCommand.with(YOUR_FEED_UNIT_ID)
.build() |
...
|