Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Native 에 Feed 진입경로 연동

...

Table of Contents

개요

Native 지면에서 Feed 지면으로 이동할 수 있는 진입경로를 추가하여 더 많은 유저가 Feed 지면로 진입할 수 있도록 합니다.

기본 요건

  • Native 연동이 필요합니다.연동 완료

  • Feed 연동 완료

설정 방법

Native ad에서 Feed 로 진입할 수 있는 레이아웃인 NativeToFeedLayout 클래스를 제공합니다. Native Ad는 레이아웃을 매체사에 정하고 있기 때문에 NativeToFeedLayout 또한 매체사가 원하는 부분에 배치하시면 됩니다.

...

NativeToFeedLayout은 default onClickListener()가 설정되어 있는 LinearLayout 입니다. NativeToFeedLayout을 연동하기 위해서는 아래의 절차가 필요합니다.

Step 1. FeedConfig 설정

NativeToFeedLayout을 사용하기 위해서는 BuzzAdBenefit.init() 시점에 feedConfig을 추가해주어야 합니다. 이미 FeedConfig에 대한 설정을 마치셨다면 다음 단계로 이동해주세요.

Code Block
languagejava
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 추가

...

Step 1. NativeToFeedLayout 추가

NativeAdView Layout에 NativeToFeedLayout을 추가합니다. NativeToFeedLayout자유롭게 구성할 수 있습니다. 위 그림의 예시처럼 피드로 유저에게 Feed 지면으로 이동하는 안내 텍스트와 문구와 화살표 아이콘을 사용하시는 것을 추천합니다. (단, 버튼은 사용할 수 없습니다.)

Code Block
languagexml
<?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
languagejava
@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
languagejava
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
  • 유저에게 정확한 추가 리워드 지급량을 보여주기 위해 ActivityonStartonResume() 시점에 텍스트를 업데이트 해주세요. 메모리 누수를 방지하기 위해 ActivityonStop() 시점에 BaseRewardManager.clear() 함수를 호출해주세요.