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

Native 에 Feed 진입경로 연동

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

기본 요건

  • Native 연동이 필요합니다.

설정 방법

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

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

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() 함수를 호출해주세요.

Interstitial에 Feed 진입경로 연동

기본 요건

  • Interstitial 연동이 필요합니다.

설정 방법

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

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

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

  • No labels