개요
이 문서에서 가이드 하는 내용은 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 무한 스크롤 기능 비활성화
마지막 광고까지 스크롤이 된 경우, 더 많은 광고를 보여줄 수 있도록 추가로 광고를 할당합니다. 이 기능을 원치 않는 경우에는 아래 코드를 통해 비활성화할 수 있습니다.
final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") ...생략... .autoLoadingEnabled(false) .build();
광고 분류 기능: Tab 과 Filter
많은 광고 속에서 사용자가 보고 싶은 광고를 분류하여 볼 수 있도록, Tab과 Filter 기능이 기본으로 제공됩니다. Tab은 일반 광고와 쇼핑 적립형 광고를 구분하는 역할을 합니다. Filter는 보다 광고를 카테고리 별로 세분화하여 볼 수 있게 합니다. 이 기능들을 원하지 않는 경우, 이 문서에서 설명하는 방식으로 설정하여 사용하지 않게 할 수 있습니다.
Feed Tab 비활성화
FeedConfig
를 생성할 때 tabUiEnabled(false)
를 호출하여 Tab을 사용하지 않게 할 수 있습니다.
final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") ...생략... .tabUiEnabled(false) // tab UI를 사용하고 싶지 않을 때, false로 설정합니다. .build();
Tab은 커스터마이징이 가능합니다. 이에 대해서는 다음 링크를 참조해 주세요.
Tab을 비활성화하면 Filter도 비활성화됩니다.
Filter 비활성화
Tab은 사용하지만 Filter는 사용하고 싶지 않은 경우, FeedConfig
를 생성할 때 filterUiEnabled(false)
를 호출하면 됩니다.
final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") ...생략... .filterUiEnabled(false) // Filter UI를 사용하고 싶지 않을 때, false로 설정합니다. .build();
Filter는 커스터마이징이 가능합니다. 이에 대해서는 다음 링크를 참조해 주세요.
프로필 입력 배너
사용자의 출생년도와 성별 정보를 설정하지 않으면 Feed 상단에 프로필 정보 입력을 권장하는 배너가 표시됩니다. 이 배너를 원하지 않는 경우, 이 문서에서 설명하는 방법을 통해 비활성화할 수 있습니다.
사용자의 출생년도와 성별 정보를 입력하는 방법은 이 문서를 참고하시기 바랍니다.
프로필 입력 배너 비활성화
FeedConfig
를 생성할 때 profileBannerEnabled(false)
를 호출하여 프로필 입력 배너가 보이지 않게 할 수 있습니다.
final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") ...생략... .profileBannerEnabled(false) // 프로필 배너를 노출하고 싶지 않을 때 false로 설정합니다. .build();
Feed 효율 높이기
Feed에 광고 지면을 추가하여 매출 증가를 노릴 수 있습니다.
Feed 종료 시 인터스티셜 광고 노출: Feed Exit Interstitial
유저가 Feed 지면에서 이탈을 할때, 인터스티셜 광고를 노출할 수 있습니다.
단, 배너 광고는 애드 네트워크(ADN)에서 내려오는 광고만 보여줍니다.
종료 인터스티셜 광고는 별도의 지면이므로, 별도의 Unit ID가 필요합니다. 버즈빌 담당자에게 종료 인터스티셜 광고 지면을 위한 Unit Id의 발급을 요청하시기 바랍니다.
아래 코드에서 YOUR_FEED_EXIT_INTERSTITIAL_UNIT_ID
문자열 대신에 발급받은 종료 인터스티셜 광고 용 Unit ID를 설정합니다.
final FeedConfig feedConfig = new FeedConfig.Builder(context, YOUR_FEED_UNIT_ID) ...생략... .exitInterstitialUnitId("YOUR_FEED_EXIT_INTERSTITIAL_UNIT_ID") .build();
액션형 광고에 대한 BottomSheet 사용하기
Feed에서는 기본적으로 광고의 랜딩 페이지로 전환하는 방식으로 랜딩을 진행합니다. 하지만 액션형 광고에 대해서는 랜딩 페이지를 화면 하단의 BottomSheet에서 보여주는 방식을 제공합니다. 이 경우, BottomSheet에서 추가적인 배너 광고를 보여줄 수 있습니다.
BottomSheet을 사용하고 싶지 않은 경우에는 일반적인 방식으로도 사용 가능합니다. 이 경우 별도의 배너 광고를 보여줄 수는 없습니다.
액션형 광고의 랜딩 BottomSheet에 배너 광고 노출
액션형 광고가 랜딩되는 BottomSheet에 배너 광고를 추가할 수 있습니다.
배너 광고는 애드 네트워크(ADN)에서 내려오는 광고만 보여줍니다.
배너 광고 지면은 피드와 다른 별도의 지면이므로, 이를 사용하기 위해서는 별도의 Unit ID가 필요합니다. 버즈빌 담당자를 통해 BottomSheet의 배너 광고를 위한 Unit ID의 발급을 요청하시기 바랍니다.
아래 FeedConfig
를 생성하는 코드에서 YOUR_FEED_BOTTOM_SHEET_UNIT_ID
부분에 발급 받은 배너 전용 Unit ID를 넣어줍니다.
private void initializeBuzzAdBenefit(Context context) { final FeedConfig feedConfig = new FeedConfig.Builder(context, YOUR_FEED_UNIT_ID) ...생략... .bottomSheetUnitId(YOUR_FEED_BOTTOM_SHEET_UNIT_ID) .build(); final BuzzAdBenefitConfig buzzAdBenefitConfig = configBuilder .setFeedConfig(feedConfig) .build(); BuzzAdBenefit.init(context, buzzAdBenefitConfig); }
애드 네트워크 설정
Feed 종료 시 인터스티셜 광고 지면이나 액션형 광고의 랜딩 BottomSheet에 배너 지면에 사용하는 광고는 애드 네트워크 광고 입니다. 애드 네트워크를 이용하기 위해서는 다음의 종속성 설정이 필요합니다.
dependencies { implementation("com.buzzvil.mediation:sdk-adfit:3.4.0.1") implementation("com.buzzvil.mediation:sdk-outbrain:3.9.2.1") implementation("com.buzzvil.mediation:sdk-five:1.1.0") }
Pop 활성화 버튼 추가하기
아래 코드와 같이 FeedConfig
를 생성할 때 Pop을 사용하도록 설정하면 Pop을 이용할 수 있습니다.
Feed 진입경로 중 Pop을 연동한 경우 Pop 활성화 버튼이 Feed 지면에 보일 수 있습니다.
Pop은 앱 안에서 지면을 보여주는 Feed 지면을 팝을 통해 유저가 앱 밖에서도 Feed 지면을 경험할 수 있게 합니다.
Pop 을 활성화하지 않은 유저에게 Feed 지면의 우측 하단에 활성화 버튼을 보여주어 유저의 Pop 활성화를 유도합니다.
FeedConfig feedConfig = new FeedConfig.Builder(getApplicationContext(), YOUR_FEED_UNIT_ID) ...생략... .optInFeatureList(Collections.singletonList(OptInFeature.Pop)) .build();
이를 적용하면 Feed 지면에 위와 같이 Pop 활성봐 버튼이 노출됩니다. UI 커스터마이징 가이드는 여기에서 확인할 수 있습니다.
만일 Pop 활성화 버튼을 표시하고 싶지 않을 경우는 아래와 같이 null
로 설정합니다.
final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") ...생략... .optInAndShowPopButtonHandler(null) .build();