3.2. 고급 설정
개요
이 문서에서 가이드 하는 내용은 BuzzAd SDK의 Feed 지면 이용 시 기획에 따라 선택적으로 적용할 수 있습니다.
개인정보 수집 동의 UI 설정
개인정보 보호법과 구글 정책에 따라, 개인정보 수집 및 사용에 대한 유저의 동의가 필요합니다. 미동의 시 Feed 지면을 이용할 수 없습니다. 버즈빌 SDK에서는 개인정보 수집 동의 UI를 제공하고 있으며 아래 그림에서 UI를 확인할 수 있습니다.
개인정보 수집 동의 UI와 관련한 API는 다음과 같습니다.
// 개인정보 수집 동의 UI를 보여주는 API
BuzzAdBenefit.getPrivacyPolicyManager().showContentUI(context, listener);
// 개인정보 수집 동의에 대해 `동의함`을 표시
BuzzAdBenefit.getPrivacyPolicyManager().grantConsent();
// 개인정보 수집 동의에 대해 `동의하지 않음`을 표시
BuzzAdBenefit.getPrivacyPolicyManager().revokeConsent();
// 개인정보 수집 동의에 `동의함` 여부를 확인
BuzzAdBenefit.getPrivacyPolicyManager().isConsentGranted();
동의를 받지 않은 상태에서는 Feed 지면을 이용할 수 없습니다.
앱에서 자체적으로 개인정보 수집 동의를 받고 있다면, 아래의 API를 통해 버즈빌의 개인정보 취급방침 동의 UI를 숨길 수 있습니다.
BuzzAdBenefit.getPrivacyPolicyManager().grantConsent();
FeedFragment를 사용하여 Feed 보여주기
기본적으로 제공되는 FeedActivity
를 사용하는 방식을 권장하지만, Fragment로도 Feed 지면을 연동할 수 있습니다.
1. 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" />
2. XML에 추가 후 코드에서 아래와 같이 init을 호출해야 합니다.
class MyActivity extends Actvity {
private FeedHandler feedHandler;
@Override
public void onCreate() {
super.onCreate();
...생략...
// 광고를 새로 받기 위해 필요한 부분입니다.
feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID");
final FeedFragment feedFragment = (FeedFragment) getSupportFragmentManager().findFragmentById(R.id.feed_fragment);
if (feedFragment != null) {
feedFragment.init(YOUR_FEED_CONFIG);
}
}
...생략...
}
FeedFragment
에서도 FeedActivity
에서 제공하는 Customization 옵션 중 Toolbar를 제외한 AdsAdapter와 Header, Image 타입 광고의 경우 feedConfig에 추가하는 방식을 통해 Customize가 가능합니다.
Feed 무한 스크롤 기능 비활성화
마지막 광고까지 스크롤이 된 경우, 더 많은 광고를 보여줄 수 있도록 추가로 광고를 할당합니다. 이 기능을 원치 않는 경우에는 아래 코드를 통해 비활성화할 수 있습니다.
광고 분류 기능: Tab 과 Filter
많은 광고 속에서 사용자가 보고 싶은 광고를 분류하여 볼 수 있도록, Tab과 Filter 기능이 기본으로 제공됩니다. Tab은 일반 광고와 쇼핑 적립형 광고를 구분하는 역할을 합니다. Filter는 보다 광고를 카테고리 별로 세분화하여 볼 수 있게 합니다. 이 기능들을 원하지 않는 경우, 이 문서에서 설명하는 방식으로 설정하여 사용하지 않게 할 수 있습니다.
Feed Tab 비활성화
FeedConfig
를 생성할 때 tabUiEnabled(false)
를 호출하여 Tab을 사용하지 않게 할 수 있습니다.
Filter 비활성화
Tab은 사용하지만 Filter는 사용하고 싶지 않은 경우, FeedConfig
를 생성할 때 filterUiEnabled(false)
를 호출하면 됩니다.
광고 미할당 안내 디자인 자체 구현하기
Feed 지면에 진입한 시점에 노출할 광고가 없다면 광고 미할당 안내 UI가 표시됩니다. 미할당 안내 디자인은 자체 구현하여 변경할 수 있습니다.
광고 미할당 안내 디자인을 직접 구현하려면 다음의 절차를 따르세요.
Feed 지면에 광고가 할당되지 않았을 때의 화면에 추가할 에러 이미지(
feedErrorImageView
), 타이틀(feedErrorTitle
), 상세 설명(feedErrorDescription
) 레이아웃을 작성하세요.FeedErrorViewHolder
를 구현하는 커스텀 클래스CustomErrorView
를 새로 생성하고, 자동 완성되는GetView()
메소드를 다음과 같이 구현하세요.FeedConfig
의feedErrorViewHolderClass
속성에 이전 단계에서 생성한CustomErrorView
클래스를 추가하세요.
프로필 입력 배너
사용자의 출생년도와 성별 정보를 설정하지 않으면 Feed 상단에 프로필 정보 입력을 권장하는 배너가 표시됩니다. 이 배너를 원하지 않는 경우, 이 문서에서 설명하는 방법을 통해 비활성화할 수 있습니다.
프로필 입력 배너 비활성화
FeedConfig
를 생성할 때 profileBannerEnabled(false)
를 호출하여 프로필 입력 배너가 보이지 않게 할 수 있습니다.
Feed 효율 높이기
Feed에 광고 지면을 추가하여 매출 증가를 노릴 수 있습니다.
액션형 광고의 랜딩 BottomSheet에 배너 광고 노출
액션형 광고가 랜딩되는 BottomSheet에 배너 광고를 추가할 수 있습니다.
아래 FeedConfig
를 생성하는 코드에서 YOUR_FEED_BOTTOM_SHEET_UNIT_ID
부분에 발급 받은 배너 전용 Unit ID를 넣어줍니다.
애드 네트워크 설정
Feed 종료 시 인터스티셜 광고 지면이나 액션형 광고의 랜딩 BottomSheet에 배너 지면에 사용하는 광고는 애드 네트워크 광고 입니다. 애드 네트워크를 이용하기 위해서는 다음의 종속성 설정이 필요합니다.
Pop 사용하기
아래 코드와 같이 FeedConfig
를 생성할 때 Pop을 사용하도록 설정하면 Pop을 이용할 수 있습니다.
이를 적용하면 Feed 지면에 Pop 옵트인 버튼이 노출됩니다. 자세한 사항은 여기에서 확인할 수 있습니다.