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 5 Next »

Native 에 더보기 버튼 연동

Feed entry point 추가하기

2.16.x 이상 버전 부터 사용 가능합니다.

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

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

  1. NativeToFeedLayout을 사용하기 위해서는 BuzzAdBenefit.init() 시점에 feedConfig을 추가해주어야 합니다.

  2. NativeToFeedLayout 의 layout을 원하는 방식으로 구성합니다.

  3. NativeToFeedLayout.setNativeUnitId(YOUR_NATIVE_UNIT_ID) 를 호출해서 NativeToFeedLayout을 세팅합니다.

  4. (Optional) 유저가 피드에 진입하면 추가로 받을 수 있는 포인트를 표기함으로써 user attention을 증대시킬 수 있습니다. BuzzAdBenefit.getBaseRewardManager()를 통해 BaseRewardManager 객체를 불러오고, BaseRewardManager.getAvailableFeedBaseReward() 함수를 호출해 유저가 피드에 진입하면 받을 수 있는 포인트를 알 수 있습니다.

  • 유저에게 정확한 추가 리워드 지급량을 보여주기 위해 ActivityonStart() 시점에 텍스트를 업데이트 해주세요.

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

 예시 코드

Step 1.

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
            .add(feedConfig)
            .build();
    BuzzAdBenefit.init(context, buzzAdBenefitConfig);
}

Step 2.

<?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.

@Override
protected void onCreate(Bundle savedInstanceState) {
  ...
  NativeToFeedLayout nativeToFeedLayout = findViewById(R.id.native_to_feed_layout);
  nativeToFeedLayout.setUnitId(YOUR_FEED_UNIT_ID);
  ...
}

Step 4. (Optional)

BaseRewardManager baseRewardManager = BuzzAdBenefit.getBaseRewardManager();

@Override
public void onStart() {
    super.onStart();
    updateNavigationTextView();
}

@Override
public void onStop() {
    super.onStop();
    baseRewardManager.clear();
}

private void updateNavigationTextView() {
    baseRewardManager.getAvailableFeedBaseReward(
        yourFeedUnitId,
        reward -> {
            if (reward < 1) {
                navigationTextView.setText("더 많은 참여 기회 보기"); // string resource로 대체해주세요.
            } else {
                navigationTextView.setText(String.format(Locale.ROOT, "%d 포인트 추가로 적립하고 더 많은 참여 기회 보기", reward));
            }
        }
    );
}

Interstitial 에 더보기 버튼 연동

Feed entry point 추가하기

Interstitial Ad에서 Feed 로 진입할 수 있는 방법을 제공합니다. Interstitial Ad를 보여주기 위해 InterstitialAdConfig 클래스를 사용하는데 이때 navigateCommand 를 설정하면 Feed로 진입할 수 있는 레이아웃이 보여지게 됩니다. navigateCommand 객체를 생성할 때 SDK에 설정한 Feed의 Unit ID를 넘겨줘야 합니다.

new InterstitialAdConfig.Builder()
    ... 생략
    .navigateCommand(NavigateToFeedCommand.with(YOUR_UNIT_ID_FEED)
    .build()

Interstitial Ad에서는 Feed로 진입하는 레이아웃을 변경할 수 없습니다.

  • No labels