개요
본 가이드는
...
BuzzAd SDK의 Feed 지면을 연동하는 방법을 다루는 문서입니다.
...
Feed 지면은 여러 광고를 리스트 형식으로 볼 수 있는 지면입니다.
...
...
Note |
---|
...
Feed에 광고를 할당받기 위해 Feed Unit ID 발급이 필요합니다.
Feed 지면을 연동하기 전, |
...
시작하기의 연동 사항을 모두 적용했는지 확인해주세요. |
Feed
...
Index
Table of Contents | ||
---|---|---|
|
Feed 보여주기
...
FeedConfig
와 FeedHandler
클래스를 이용하여 피드를 사용자에게 보여줍니다. 피드를 보여주는 시점은 사용자가 앱내의 특정 버튼을 탭했거나 BuzzAdBenefit SDK에서 제공하는 다양한 EntryPoint가 될 수 있습니다. 여기서는 사용자가 매체사에서 구현한 버튼이나 배너 등을 탭했을때 피드를 보여주는 방법을 안내합니다.
...
Feed unit id로 FeedConfig
를 설정합니다.
...
FeedConfig
객체를 사용하여 FeedHandler
를 생성합니다.
...
초기화
Application
클래스의 onCreate()
에 아래 코드를 추가합니다.
Code Block | ||
---|---|---|
|
...
public class |
...
App |
...
extends |
...
Application |
...
{ @Override |
...
public void |
...
onCreate() |
...
{ |
...
|
...
|
...
|
...
|
...
|
...
|
...
super. |
...
onCreate( |
...
); |
...
위 코드를 실행하면 SDK에서 제공하는 피드를 보여줍니다.
FeedFragment를 사용하여 Feed 보여주기
기본적으로 제공되는 FeedActivity를 사용하는 방식을 권장하지만, 다른 방식으로 Feed를 보여주고 싶을때, FeedFragment를 사용할 수 있습니다. 예를들어, bottom sheet이 아닌 형태로 피드를 제공하고자 하는 경우 아래 가이드를 따라 구현합니다.
FeedFragment 기본 사용 방법
...
language | xml |
---|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
final FeedConfig feedConfig |
...
= |
...
language | java |
---|
...
new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") .feedHeaderViewAdapterClass(DefaultFeedHeaderViewAdapter.class) |
...
. |
...
build( |
...
);
|
...
FeedFragment에서도 FeedActivity와 마찬가지로 FeedHandler를 생성한 후 preload()를 호출하고 startFeedActivity()를 호출하지 않으면 Preload와 관련한 기능을 모두 사용할 수 있습니다.
...
FeedFragment에서도 FeedActivity에서 제공하는 Customization 옵션 중 Toolbar를 제외한 AdsAdapter와 Header, Image 타입 광고의 경우 feedConfig에 추가하는 방식을 통해 Customize가 가능합니다.
Note |
---|
매번 새로운 광고를 서빙 받기 위해서는 FeedFragment를 초기화 하기 전 FeedHandler를 생성해야 합니다. |
Feed의 광고 현황 확인
Basic Usage처럼 바로 startFeedActivity를 호출하는 경우 Feed 액티비티가 실행되면서 광고를 로드하게 되어, 유저에게 보여줄 수 있는 광고가 없어 빈 화면이 보이게 될 수도 있습니다. 이에 Feed 액티비티를 실행하기 전에 preload()
를 호출한 뒤 onPreloaded()
콜백을 호출하여 상태를 확인한 후 광고가 있을때만 피드로 진입할 수 있도록 하는 것을 추천합니다.
feedHandler.getSize()
: 광고의 개수feedHandler.getTotalReward()
: 적립 가능한 총 포인트 금액
...
language | java |
---|
...
|
...
|
...
final BuzzAdBenefitConfig buzzAdBenefitConfig |
...
= |
...
new |
...
BuzzAdBenefitConfig.Builder(context) |
...
|
...
|
...
|
...
|
...
. |
...
setFeedConfig(feedConfig) |
...
...
|
...
|
...
|
...
. |
...
build(); |
...
|
...
|
...
BuzzAdBenefit.init(this, buzzAdBenefitConfig); |
...
...생략... |
...
|
...
|
...
|
...
|
...
유의사항
...
프리로드한 FeedHandler
와 동일한 객체에서 startFeedActivity()
를 호출해야 합니다.
주의사항 : 하나의
FeedHandler
인스턴스에서 광고를 load/preload 한 경우, 그 인스턴스는 계속 같은 광고를 들고 있게 됩니다. 그래서 activity에서 유저가 이탈하더라도 다시 해당 인스턴스로 startFeedActivity를 하는 경우 같은 광고 리스트를 보게 됩니다. 만약 피드에 진입할 때마다 새로 광고가 로드되는 것을 원하는 경우 새로운FeedHandler
인스턴스를 만들어서startFeedActivity()
를 호출해야 합니다.
...
}
} |
Feed 보여주기
FeedHandler
클래스를 이용하여 피드를 사용자에게 보여줍니다. 피드를 보여주는 시점은 사용자가 앱 내의 특정 버튼을 탭했거나 BuzzAdBenefit SDK에서 제공하는 다양한 진입 경로(EntryPoint)가 될 수 있습니다. 여기서는 사용자가 매체 사에서 구현한 버튼이나 배너 등을 탭했을 때 피드를 보여주는 방법을 안내합니다.
Code Block | ||
---|---|---|
| ||
final FeedHandler feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID");
feedHandler.startFeedActivity(this); |
Info |
---|
SDK에서 제공하는 Activity가 아닌 다른 형태로 Feed를 보여주고 싶다면 고급 설정을 참고하세요. |
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.startFeedActivity(context); } |
...
개인정보 취급 방침
개인정보 보호법과 구글 정책에 대응하기 위해, 유저가 버즈빌 광고 지면에 들어갈 때, 개인정보 수집 및 사용에 대한 동의를 받게 됩니다. 별도의 지면 이동 없이, 동일 지면에서 개인정보 사용 정책을 확인할 수 있습니다. 미동의시 버즈빌 제품을 사용할 수 없으며, 유저가 개인정보 수집 및 사용에 대한 동의를 한 이후부터 버즈빌의 유저 데이터 수집 및 광고 참여가 가능합니다.
개인정보 수집 동의는 bottom-sheet 형태로 보여주며, API로 호출 가능합니다.
<개인정보 수집 동의 bottom-sheet>
<미동의 시 Feed>
개인정보 취급 방침과 관련해서 다음과 같은 API를 사용할 수 있습니다.
Code Block |
---|
// 개인정보 취급 방침 UI를 보여주는 API
BuzzAdBenefit.getPrivacyPolicyManager().showContentUI(context, listener);
// 개인정보 취급 방침에 대해 `동의함`을 표시
BuzzAdBenefit.getPrivacyPolicyManager().grantConsent();
// 개인정보 취급 방침에 대해 `동의하지 않음`을 표시
BuzzAdBenefit.getPrivacyPolicyManager().revokeConsent();
// 개인정보 취급 방침에 `동의함` 여부를 확인
BuzzAdBenefit.getPrivacyPolicyManager().isConsentGranted(); |
(중요) 만약 위 API를 사용하지 않는 경우, 다음과 같은 상황에 Buzzvil의 개인정보 취급 방침에 대한 동의를 받는 UI를 퍼블리셔에서 직접 구현해야합니다.
미동의 상태에서 Feed 진입 시
미동의 상태에서 Pop Icon 클릭 시
그 외, 버즈빌 프로덕트 노출을 동의하는 단계
Note | ||
---|---|---|
주의 사항
|
...
@Override
public void onError(AdError error) {
// 광고가 없을 경우 호출됩니다. error를 통해 원인을 알 수 있습니다
}
}); |