Versions Compared

Key

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

개요

본 가이드는 BuzzAd SDK의 Feed 지면을 연동하는 방법을 다루는 문서입니다. Feed 지면은 여러 광고를 리스트 형식으로 볼 수 있는 제공하는 지면입니다.

...

Note

Feed 지면을 연동하기 전, 시작하기의 연동 사항을 모두 적용했는지 확인해주세요.

Feed 초기화

...

준비 사항

Feed 초기화

Application의 onCreate에서 FeedConfig와 BuzzAdBenefitConfig를 추가합니다.

Code Block
languagejava
public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID")
            .feedHeaderViewAdapterClass(DefaultFeedHeaderViewAdapter.class)
            .build();
        final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context)
            .setFeedConfig(feedConfig)
            .build();
        BuzzAdBenefit.init(this, buzzAdBenefitConfig);

        ...생략...
    }
}

Feed 보여주기

...

<<바텀시트 UI 이미지>>

FeedHandler를 사용하여 바텀시트 형태의 Feed지면을 표시합니다. 사용자에게 다른 형태로 Feed지면을 제공하기 위해서 (ver 2.25.x) 3.2. 고급 설정을 참고하시기 바랍니다.

Code Block
languagejava
final FeedHandler feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID");
feedHandler.startFeedActivity(this);
Info
SDK에서 제공하는 Activity가 아닌 다른 형태로 Feed를 보여주고 싶다면 고급 설정을 참고하세요.
Note

FeedHandler 인스턴스를 생성 후에, startFeedActivity()를 반복해서 호출하더라도 노출되는 광고는 변하지 광고를 새로 할당받지 않습니다.
새로운 광고를 노출하고 싶은 경우, 할당하기 위해서는 FeedHandler 인스턴스를 다시 생성하거나, load()/재생성하거나, preload()호출한 후에 startFeedActivity()를 호출해야 합니다재호출해야합니다.

...

광고 미리 할당 받기

유저가 Feed 지면에 접근하기 전에 서버로 부터 광고를 미리 할당받기 위해서 preload()사용할 호출하여 광고를 미리 할당받을 수 있습니다.
preload()에 성공하여 광고가 할당된 경우 경우에는FeedPreloadListener.onPreloaded()가 호출되며, 광고 할당에 실패한 경우 경우에는 FeedPreloadListener.onError()가 호출됩니다.

Code Block
languagejava
final FeedHandler feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID");
feedHandler.preload(new FeedHandler.FeedPreloadListener() {
    @Override
    public void onPreloaded() {
        // 광고의 개수
        int feedAdSize = feedHandler.getSize();
        // 적립 가능한 총 포인트 금액
        int feedTotalReward = feedHandler.getTotalReward();
    }

    @Override
    public void onError(AdError error) {
        // 광고가 없을 경우 호출됩니다. error를 통해 발생한 error의 원인을 알 수 있습니다
    }
});
Info

onPreloaded() 에서 startFeedActivity() 를 실행하면 피드의 로딩 시간이 단축되어 유저 onPreloaded에서 startFeedActivity를 호출하면 사용자 경험을 더 좋게 할 수 있습니다.