Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

개요

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

기본 요건

  • Native 연동 완료

  • Feed 연동 완료

  • BuzzAdBenefit SDK 2.16.x 이상

설정 방법

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

Step 1. FeedConfig 설정

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

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 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 3. 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 4. (Optional) 베이스 리워드 표시

NativeToFeedLayout에 베이스리워드(2포인트)를 표시한 예시

위의 이미지는 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));
            }
        }
    );
}
  • 유저에게 정확한 추가 리워드 지급량을 보여주기 위해 ActivityonStart() 시점에 텍스트를 업데이트 해주세요.

  • 메모리 누수를 방지하기 위해 ActivityonStop() 시점에 BaseRewardManager.clear() 함수를 호출해주세요.

  • No labels