Pop 초기화

BuzzAdBenefit 초기화

BuzzAdBenefit 의 제품 중 하나인 Pop 은 BuzzAdBenefit SDK 를 통해서 초기화가 진행됩니다.

 

Index


Step 1. BuzzAdBenefit 초기화

Application Class의 onCreate에 아래 코드를 추가할 것을 권장하나, 최초 광고 요청 전에만 불린다면 자유롭게 코드 위치를 결정할 수 있습니다.

  • APP_ID 준비한 app_id 삽입

public class App extends Application { @Override public void onCreate() { BuzzAdBenefit.init(this, new BuzzAdBenefitConfig.Builder("APP_ID").build()); } }

Step 2. PopConfig 설정

Unit id 를 설정하고, 팝의 아이콘, 팝이 나타날 때의 위치 등 Look & Feel을 정하기 위한 항목입니다. 이미지 예시를 직접 참고하려면 POP 디자인 가이드 문서를 참고해주세요.

  • UNIT_ID 준비한 UNIT_ID 삽입합니다.

다음의 PopConfig 는 Default 값이 있는 Optional 항목입니다. 설정을 완료한 뒤, build()함수를 호출합니다.

new PopConfig.Builder(UNIT_ID).build();
  • iconResourceId 팝 아이콘 drawable을 만들어 아이콘을 변경할 수 있습니다. 이때 상태에 따라 평상시 아이콘과 피드 종료 아이콘을 지정해 주어야 합니다.

    <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> // 종료 아이콘 <item android:drawable="@drawable/icon_pop_selected" android:state_selected="true" /> // 평상시 팝 아이콘 <item android:drawable="@drawable/icon_pop"/> </selector>
  • 팝 아이콘 사이즈

    • 56*56 dp (mdpi 기준)

    • 224*224 px (xxxhdpi까지 지원, 픽셀기준 최대 4배)

  • rewardReadyIconResourceId 팝에서 피드를 열었을때 보상을 얻을 수 있는 경우 동전 아이콘을 보여주는데 이 아이콘을 변경할 수 있습니다. iconResourceId와 마찬가지로 selector를 이용하여 작성합니다.

  • popAdMessageViewClass 팝의 말풍선(preview)에 광고의 내용이 보일때의 말풍선 뷰를 변경할 수 있습니다. 기본 클래스에서는 광고를 통해 얻을 수 있는 포인트를 보여줍니다. 커스텀 클래스 설정하는 방법은 여기를 참고해 주세요.

  • popArticleMessageViewClass 팝의 말풍선(preview)에 아티클의 내용이 보일때의 말풍선 뷰를 변경할 수 있습니다. 기본 클래스에서는 아티클의 제목을 보여줍니다. 커스텀 클래스 설정하는 방법은 여기를 참고해 주세요.

  • popUtilityLayoutHandlerClass 피드를 열었을때 하단에 보이는 Utility영역을 변경합니다. 기본 클래스에서는 카메라, 브라우저, 사진첩으로 이동할 수 있습니다. 커스텀 클래스 설정하는 방법은 여기를 참고해 주세요.

  • initialSidePosition(@NonNull final SidePosition initialSidePosition) 팝의 초기 위치 설정합니다. Default 값은 SidePosition.Side.RIGHT, 0.6f(화면 우측, 위에서 60 % 지점)

  • initialPopIdleMode(@NonNull PopIdleMode initialPopIdleMode) 팝의 Idle 상태 동작을 결정합니다. 5 초 동안 User의 Interaction 이 없다면 Idle 상태가 되며, 여기서 설정 된 모드로 동작하게 됩니다. Default 값은 INVISIBLE

    • INVISIBLE : 일정 시간 후 Pop Icon 이 사라집니다. 다시 Pop Icon 을 활성화 하려면 Notification 을 클릭하거나, 화면을 껐다가 켜야합니다.

    • TRANSLUCENT : 일정 시간 후 Pop Icon 이 사라지지 않고 활성화 상태에서 반투명해집니다. 반투명 Pop Icon 은 User Interaction 을 받을 수 있습니다.

  • controlService Service Notification 을 커스텀 하기 위해 사용합니다. 버즈빌이 제공하는 기능을 온전히 사용하고 앞으로의 서포트를 받기 위해서는 되도록 커스텀하지 않고 기본값을 사용하길 권장합니다. 자세한 사항은 하단의 Advanced를 참고해주세요.

  • feedConfig 팝에서 사용할 피드의 config를 설정합니다. 자세한 내용은 3번 단락에서 다룹니다.

  • popNotificationConfig 팝에서 사용하는 Notification 의 config를 설정합니다. 자세한 내용은 4번 단락에서 다룹니다.

Step 3. FeedConfig 설정

팝을 클릭해서 나오는 Feed 뷰가 어떻게 보일지 설정해 줍니다. BuzzAdBenefit과 겹치는 내용이 많으니 여기를 참고해 주세요. 다음은 Feed 뷰에서 광고와 컨텐츠를 모두 활성화 하고 컨텐츠 클릭시에 외부 Activity로 넘어가지 않고 내부 브라우저로 랜딩되는 Feed를 만드는 코드입니다.

Step 4. PopNotificationConfig 설정

팝을 실행하고 있는 동안에는 팝이 실행중이라는 Service Notification을 보여주는데 이 Notification의 내용을 결정하기 위해 필요합니다. 설정하지 않는다면 디폴트 값이 있지만 앱의 톤&매너를 반영하여 변경하기를 권장합니다.

  1. PopNotificationConfig.Builder(@DrawableRes final int smallIconResId) small 아이콘을 정합니다. Notification Icon Design guide 를 따라 흰색 Icon 추천합니다.

  2. colorResId(@ColorRes int colorResId) Notification 의 아이콘, 앱 이름 에 적용되는 색상을 설정합니다.

  3. titleResId(@StringRes int titleResId) 타이틀을 설정합니다.

  4. textResId(@StringRes int textResId) Notification의 내용을 설정합니다.

  5. notificationId(int notificationId) Android Notification Id를 설정합니다. Default 값은 5000

Step 5. PopConfig 를 빌드

PopConfig, FeedConfig, PopNotificationConfig를 생성하고 나면 Benefit 초기화 시, 아래와 같이 popConfig 를 설정 할 수 있습니다.

 

 

Advanced


Custom Service Notification

Pop 에서 기본 제공하는 Service Notification 은 클릭 했을 때 Pop 을 다시 보이는 기능을 제공합니다. 하지만 개발 요구사항에 따라 Service Notification 을 다른 형식으로 사용해야 할 경우가 있는데 그런 경우 Custom Service Notification 을 등록하는 방법을 사용할 수 있습니다.

Step 1. CustomControlService class

  1. PopControlService 를 상속받아 class 를 만듭니다.

  2. buildForegroundNotification 함수를 오버라이드 합니다.

  3. (Optional) getPopPendingIntent 를 통해 click 시 Pop Icon 을 띄우는 기능을 하는 PendingIntent 를 만들 수 있습니다. 요구사항에 따라 이 기능 대신 필요한 기능을 PendingIndent로 사용하면 됩니다.

  4. 필요에 따라 notificationChannel 을 생성해 등록합니다.

  5. (Optional)RemoteViews, setContent 를 사용해 CustomContolService 에서 사용할 View 를 등록합니다.

Step 2. Custom Service Class 등록

PopConfig.controlService(@NonNull Class<? extends PopControlService> popControlServiceClass) 를 사용해 Custom Service Notification 을 등록할 수 있습니다.

이 경우, PopNotificationConfig 는 SmallIconRes 와 NotificationId 두 가지만 설정하면 됩니다.

Step 3. Manifest 에 CustomControlService 를 등록