Versions Compared

Key

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

목차

Table of Contents
minLevel1
maxLevel1
exclude목차

개요

Feed 지면은 광고를 리스트 형식으로 제공하는 지면입니다.

...

준비 사항

Feed 지면 초기화

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

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를 사용하여 FeedConfig를 사용하여 Feed 지면의 기능과 디자인을 변경할 수 있습니다. 고급 설정디자인 커스터마이징을 참고하여 Feed 지면의 기능과 변경 방법을 확인할 수 있습니다.

Feed 지면 표시

...

바텀시트 형태의 Feed지면을 표시합니다. 사용자에게 다른 형태로 Feed지면을 제공하기 위해서 (ver 2.25.x) 3.2. 고급 설정을 참고하시기 바랍니다광고를 할당 받지 않은 상태에서는 Feed 지면이 사용자에게 노출된 후에 자동으로 할당받습니다. 단, 할당 받는 도중에는 “참여할 수 있는 광고가 없습니다.“ 라는 이미지가 보일 수 있습니다.

Code Block
languagejava
final FeedHandler feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID");
feedHandler.startFeedActivity(this);
Note

startFeedActivity()를 반복해서 호출하더라도 광고를 새로 할당받지 않습니다.
새로운 광고를 할당하기 위해서는 FeedHandler 인스턴스를 재생성하거나, preload() 를 재호출해야합니다.

...

사용자에게 다른 형태로 Feed지면을 제공하기 위해서 프래그먼트로 Feed 연동을 참고하시기 바랍니다.

광고 할당 받기

유저가 Feed 지면에 접근하기 전에 preload()를 호출하여 광고를 미리 할당받을 수 있습니다. 광고가 할당된 경우에는FeedPreloadListener.onPreloaded()가 호출되며, 광고 할당에 실패한 경우에는 FeedPreloadListener.onError()가 호출됩니다 preload()를 반복해서 호출하면 광고가 갱신됩니다.

다음은 광고 할당 후 Feed 지면을 표시하는 예시입니다. 다음과 같이 구현하면 사용자가 Feed 지면에 진입하기 전에 광고 할당이 보장되기 때문에 “참여할 수 있는 광고가 없습니다.“는 이미지를 보이지 않습니다.

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 feedAdSizefeedTotalReward = feedHandler.getSizegetTotalReward(); // 적립 가능한 총 포인트 금액
   // 적립 가능한 총 포인트 금액     ...
        
     int feedTotalReward = feedHandler.getTotalRewardstartFeedActivity(context);
    }

    @Override
    public void onError(AdError error) {
        // 광고가 없을 경우 호출됩니다. error를 통해 원인을 알 수 있습니다
    }
});
Info
onPreloaded에서 startFeedActivity를 호출하면 사용자 경험을 더 좋게 할 수 있습니다.