개요
본 가이드는
...
BuzzAd SDK의 Feed 지면을 연동하는 방법을 다루는 문서입니다.
...
Feed 지면은 여러 광고를 리스트 형식으로 볼 수 있는 지면입니다.
...
주의사항
...
Feed에 광고를 할당받기 위해 Feed Unit ID 발급이 필요합니다.
...
Note |
---|
Feed 지면을 연동하기 전, |
...
시작하기의 연동 사항을 모두 적용했는지 확인해주세요. |
Feed
...
Index
Table of Contents | ||
---|---|---|
|
...
초기화
Application
...
클래스의 onCreate()
에 아래 코드를 추가합니다.
Code Block | ||
---|---|---|
| ||
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); |
...
|
...
title | Benefit SDK 2.21 미만 |
---|
PopConfig와 FeedConfig를 추가하는 interface가 다르니 주의해주세요
...
|
...
|
...
|
...
...생략... |
...
}
} |
Feed 보여주기
...
FeedHandler
클래스를 이용하여 피드를 사용자에게 보여줍니다. 피드를 보여주는 시점은 사용자가
...
앱 내의 특정 버튼을 탭했거나 BuzzAdBenefit SDK에서 제공하는 다양한 진입 경로(EntryPoint
...
)가 될 수 있습니다. 여기서는 사용자가
...
매체 사에서 구현한 버튼이나 배너 등을
...
탭했을 때 피드를 보여주는 방법을 안내합니다.
FeedConfig
를 설정할 때 사용한 Feed unit id("YOUR_FEED_UNIT_ID"
)로FeedHandler
를 생성합니다.startFeedActivity()
를 호출하여 Feed 액티비티를 실행합니다.
Code Block | ||
---|---|---|
| ||
final FeedHandler feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID");
feedHandler.startFeedActivity(this); |
Info |
---|
SDK에서 제공하는 Activity가 아닌 다른 형태로 Feed를 보여주고 싶다면 고급 |
...
Feed의 진입 전 광고 할당 받기
바로 startFeedActivity를 호출하는 경우 Feed 액티비티가 실행되면서 광고를 로드하게 되어, 유저에게 보여줄 수 있는 광고가 없어 빈 화면이 보이게 될 수도 있습니다. 이에 Feed 액티비티를 실행하기 전에 preload()
를 호출한 뒤 onPreloaded()
콜백을 호출하여 상태를 확인한 후 광고가 있을때만 피드로 진입할 수 있도록 하는 것을 추천합니다.
...
feedHandler.getSize()
: 광고의 개수
...
설정을 참고하세요. |
Note |
---|
|
광고 할당 받기
preload()
를 호출하여 광고를 할당받을 수 있습니다. preload()
를 반복해서 호출하면 광고가 갱신됩니다.
다음은 광고 할당 후 Feed 지면을 표시하는 예시입니다. 다음과 같이 구현하면 사용자가 Feed 지면에 진입하기 전에 광고 할당이 보장되기 때문에 “참여할 수 있는 광고가 없습니다.“는 이미지를 보이지 않습니다.
Code Block | ||
---|---|---|
| ||
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(); |
...
|
...
// |
...
적립 |
...
가능한 |
...
총 |
...
포인트 금액 |
...
|
...
유의사항
...
. |
...
. |
...
. |
...
FeedHandler를 일회성으로 객체를 생성하여 preload 기능을 사용할 경우, preload에 대한 결과를 받지 못할 수 있습니다. Memory Leak 방지를 위해 feedHandler에 weakReference를 적용하고 있기 때문입니다. FeedHandler의 변수 선언을 지역변수가 아닌 Class 변수로 하는 등 일회적이지 않은 방식으로 객체를 생성하셔야 합니다.
...
language | java |
---|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
feedHandler |
...
.startFeedActivity(context); |
...
} |
...
|
...
@Override |
...
public void onError(AdError error) {
|
...
|
...
|
...
|
...
|
...
개인정보 취급 방침
개인정보 보호법과 구글 정책에 대응하기 위해, 유저가 버즈빌 광고 지면에 들어갈 때, 개인정보 수집 및 사용에 대한 동의를 받게 됩니다. 별도의 지면 이동 없이, 동일 지면에서 개인정보 사용 정책을 확인할 수 있습니다. 미동의시 버즈빌 제품을 사용할 수 없으며, 유저가 개인정보 수집 및 사용에 대한 동의를 한 이후부터 버즈빌의 유저 데이터 수집 및 광고 참여가 가능합니다.
개인정보 수집 동의는 bottom-sheet 형태로 보여주며, API로 호출 가능합니다.
<개인정보 수집 동의 bottom-sheet>
<미동의 시 Feed>
개인정보 취급 방침과 관련해서 다음과 같은 API를 사용할 수 있습니다.
...
// |
...
광고가 |
...
없을 |
...
(중요) 만약 위 API를 사용하지 않는 경우, 다음과 같은 상황에 Buzzvil의 개인정보 취급 방침에 대한 동의를 받는 UI를 퍼블리셔에서 직접 구현해야합니다.
미동의 상태에서 Feed 진입 시
미동의 상태에서 Pop Icon 클릭 시
그 외, 버즈빌 프로덕트 노출을 동의하는 단계
Note | ||
---|---|---|
주의 사항
|
...
경우 호출됩니다. error를 통해 원인을 알 수 있습니다
}
}); |