본 가이드는 BuzzAdBenefit SDK의 피드 타입 광고를 연동하는 방법을 다루는 문서입니다. 피드는 여러 광고를 리스트 형식으로 볼 수 있는 지면입니다.
※ 주의사항
Feed에 광고를 할당받기 위해 Feed Unit ID 발급이 필요합니다.
Feed 타입을 연동하기 전, 공통 가이드의 연동 사항을 모두 적용했는지 확인해주세요.
Feed 의 커스터마이즈는 상단 툴바, 광고 리스트 아이템 영역, 헤더, 디자인 커스터마이즈가 가능합니다.
Index
Feed 보여주기
FeedConfig
와 FeedHandler
클래스를 이용하여 피드를 사용자에게 보여줍니다. 피드를 보여주는 시점은 사용자가 앱내의 특정 버튼을 탭했거나 BuzzAdBenefit SDK에서 제공하는 다양한 EntryPoint가 될 수 있습니다. 여기서는 사용자가 매체사에서 구현한 버튼이나 배너 등을 탭했을때 피드를 보여주는 방법을 안내합니다.
Feed unit id로
FeedConfig
를 설정합니다.FeedConfig
객체를 사용하여FeedHandler
를 생성합니다.startFeedActivity()
를 호출하여 Feed 액티비티를 실행합니다.
final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") .feedHeaderViewAdapterClass(DefaultFeedHeaderViewAdapter.class) .build(); final FeedHandler feedHandler = new FeedHandler(feedConfig); feedHandler.startFeedActivity(this);
위 코드를 실행하면 SDK에서 제공하는 피드를 보여줍니다.
FeedFragment를 사용하여 Feed 보여주기
기본적으로 제공되는 FeedActivity를 사용하는 방식을 권장하지만, 다른 방식으로 Feed를 보여주고 싶을때, FeedFragment를 사용할 수 있습니다. 예를들어, bottom sheet이 아닌 형태로 피드를 제공하고자 하는 경우 아래 가이드를 따라 구현합니다.
FeedFragment 기본 사용 방법
// layout xml 에 다음과 같이 추가합니다. <fragment android:id="@+id/feed_fragment" android:name="com.buzzvil.buzzad.benefit.presentation.feed.FeedFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> // XML에 추가 후 코드에서 아래와 같이 init을 호출해야 합니다. final FeedFragment feedFragment = (FeedFragment) getSupportFragmentManager().findFragmentById(R.id.feed_fragment); if (feedFragment != null) { feedFragment.init(YOUR_FEED_CONFIG); }
FeedFragment에서도 FeedActivity와 마찬가지로 FeedHandler를 생성한 후 preload()를 호출하고 startFeedActivity()를 호출하지 않으면 Preload와 관련한 기능을 모두 사용할 수 있습니다.
FeedFragment에서도 FeedActivity에서 제공하는 Customization 옵션 중 Toolbar를 제외한 AdsAdapter와 Header, Image 타입 광고의 경우 feedConfig에 추가하는 방식을 통해 Customize가 가능합니다.
매번 새로운 광고를 서빙 받기 위해서는 FeedFragment를 초기화 하기 전 FeedHandler를 생성해야 합니다.
개인정보 취급 방침
개인정보 보호법과 구글 정책에 대응하기 위해, 유저가 버즈빌 광고 지면에 들어갈 때, 개인정보 수집 및 사용에 대한 동의를 받게 됩니다. 별도의 지면 이동 없이, 동일 지면에서 개인정보 사용 정책을 확인할 수 있습니다. 미동의시 버즈빌 제품을 사용할 수 없으며, 유저가 개인정보 수집 및 사용에 대한 동의를 한 이후부터 버즈빌의 유저 데이터 수집 및 광고 참여가 가능합니다.
개인정보 수집 동의는 bottom-sheet 형태로 보여주며, API로 호출 가능합니다.
<개인정보 수집 동의 bottom-sheet>
<미동의 시 Feed>
개인정보 취급 방침과 관련해서 다음과 같은 API를 사용할 수 있습니다.
// 개인정보 취급 방침 UI를 보여주는 API BuzzAdBenefit.getPrivacyPolicyManager().showContentUI(context, listener); // 개인정보 취급 방침에 대해 `동의함`을 표시 BuzzAdBenefit.getPrivacyPolicyManager().grantConsent(); // 개인정보 취급 방침에 대해 `동의하지 않음`을 표시 BuzzAdBenefit.getPrivacyPolicyManager().revokeConsent(); // 개인정보 취급 방침에 `동의함` 여부를 확인 BuzzAdBenefit.getPrivacyPolicyManager().isConsentGranted();
(중요) 만약 위 API를 사용하지 않는 경우, 다음과 같은 상황에 Buzzvil의 개인정보 취급 방침에 대한 동의를 받는 UI를 퍼블리셔에서 직접 구현해야합니다.
미동의 상태에서 Feed 진입 시
미동의 상태에서 Pop Icon 클릭 시
그 외, 버즈빌 프로덕트 노출을 동의하는 단계
주의 사항
BuzzAdBenefit.getPrivacyPolicyManager()
는BuzzAdBenefit.init(...)
호출 이후에 사용이 가능합니다.이미 자체적으로 개인정보취급방침에 대한 동의를 받았다면 다음과 같은 코드를 통해 Buzzvil UI가 안보이도록 설정할 수 있습니다.
BuzzAdBenefit.getPrivacyPolicyManager().grantConsent();
동의를 받지 않은 상태에서 Feed의 preload() 기능을 사용할 경우, 항상 에러가 발생하게 됩니다.