개요
본 가이드는 BuzzAd SDK의 Feed 지면을 연동하는 방법을 다루는 문서입니다. Feed 지면은 여러 광고를 리스트 형식으로 볼 수 있는 지면입니다.
Feed 지면을 연동하기 전, 시작하기의 연동 사항을 모두 적용했는지 확인해주세요.
Feed 초기화
Application
클래스의 onCreate()
에 아래 코드를 추가합니다.
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 보여주기
FeedHandler
클래스를 이용하여 피드를 사용자에게 보여줍니다. 피드를 보여주는 시점은 사용자가 앱 내의 특정 버튼을 탭했거나 BuzzAdBenefit SDK에서 제공하는 다양한 진입 경로(EntryPoint)가 될 수 있습니다. 여기서는 사용자가 매체 사에서 구현한 버튼이나 배너 등을 탭했을 때 피드를 보여주는 방법을 안내합니다.
final FeedHandler feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID"); feedHandler.startFeedActivity(this);
SDK에서 제공하는 Activity가 아닌 다른 형태로 Feed를 보여주고 싶다면 고급 설정을 참고하세요.
FeedHandler
인스턴스를 생성 후에, startFeedActivity()
를 반복해서 호출하더라도 노출되는 광고는 변하지 않습니다. 새로운 광고를 노출하고 싶은 경우, FeedHandler
인스턴스를 다시 생성하거나, load()
/preload()
를 호출한 후에 startFeedActivity()
를 호출해야 합니다.
Feed의 진입 전 광고 할당 받기
유저가 Feed 지면에 접근하기 전에 서버로 부터 광고를 미리 할당받기 위해서 preload()
를 사용할 수 있습니다.preload()
에 성공하여 광고가 할당된 경우 FeedPreloadListener.onPreloaded()
가 호출되며, 광고 할당에 실패한 경우 FeedPreloadListener.onError()
가 호출됩니다.
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의 원인을 알 수 있습니다 } });
onPreloaded()
에서 startFeedActivity()
를 실행하면 피드의 로딩 시간이 단축되어 유저 경험을 더 좋게 할 수 있습니다.