Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

개요

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

기본 요건

  • Native 연동 완료

  • Feed 연동 완료

  • BuzzAdBenefit SDK 2.16.x 이상

설정 방법

Native ad에서 Feed 로 진입할 수 있는 레이아웃인 NativeToFeedLayout 클래스를 제공합니다.
NativeToFeedLayout 을 배치하여 Native 지면에 추가합니다.

...

Step 1. NativeToFeedLayout 추가

Native Ad에 사용할 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() 함수를 호출해 베이스 리워드를 조회할 베이스 리워드는 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() 함수를 호출해주세요.