(ver 2.29.x) 6.5.2. 고급 설정

목차

개요

이 문서에서 가이드 하는 내용은 BuzzAd Android SDK의 Push 지면의 기능을 설명하고 각 기능을 변경하는 방법을 설명합니다.

 

Push 구독 설명 다이얼로그 없이 구독 UI 표시

BuzzAd Android SDK에서는 Push 구독을 설명하는 다이얼로그와 구독 시간을 설정하는 다이얼로그를 표시합니다. Push 구독을 설명하는 UI 를 자체적으로 구현하거나 설명하는 UI 없이 구독을 진행할 수 있습니다.

다음은 Push 구독을 설명하는 다이얼로그를 표시하지 않는 방법입니다.

buzzAdPush.registerWithDialog(MyActivity.this, false, new BuzzAdPush.OnRegisterListener() { @Override public void onSuccess() { // 구독 성공 시 호출 } @Override public void onCanceled() { // 구독 실패 시 호출 } });

 

Push 구독 UI 자체 구현

BuzzAd Android SDK에서 제공하는 API를 활용하여, Push 구독 절차를 직접 구현할 수 있습니다.

// 버즈빌 서버로부터 구독 가능한 시간을 미리 불러와 저장합니다. buzzAdPush.fetchPushHoursOptionIfNeeded( activity, new PushRepository.OnFetchResultListener() { @Override public void onFetchFail() { // 저장된 구독 가능한 시간이 없다면 SDK에서 기본으로 제공하는 값을 읽어옵니다. // 단, 저장된 구독 가능한 시간이 없다면 SDK에서 기본으로 제공하는 값을 읽어옵니다. List<Integer> list = buzzAdPush.getPushHoursOption(MainActivity.this); } @Override public void onFetchSuccess() { // Step 2 List<Integer> list = buzzAdPush.getPushHoursOption(MainActivity.this); } });

구독 가능한 시간중 사용자가 구독을 원하는 시간을 선택하여 설정합니다. 그리고 Push를 구독합니다.

List<Integer> selectedHours = new ArrayList<>(); selectedHours.add(hour); // 0 <= hour < 24 buzzAdPush.setPushHours(activity, selectedHours); // 설정 가능한 시간 중 유저가 선택한 시간을 Push SDK에 등록합니다. buzzAdPush.register(activity); // 위 단계 설정이 끝나면 Push를 등록하여 활성화합니다.

 

Push 구독 해지 고도화

SDK에서 제공하는 API를 활용하여, SDK에서 제공하는 UI를 사용하지 않거나 별도의 UI 없이 구독을 해지할 수 있습니다.

 

Push 구독 상태 확인

구독 여부를 확인하여 UI에 반영할 수 있습니다.

 

Push Service Notification 자체 구현

푸시 기능이 안정적으로 동작하기 위해서는 서비스(Foreground Service)가 필요합니다.

다른 BuzzAd SDK의 Foreground Service(락스크린 또는 Pop 을 연동할 경우 실행되는 Foreground Service) 가 활성화되면 BuzzAd Push 의 Foreground Service 서비스는 표시되지 않습니다.

PushService의 상속 클래스를 구현하여 Notification을 변경할 수 있습니다. getFeedPendingIntent() 함수는 Feed로 진입할 수 있는 PendingIntent를 제공합니다.

다음은 Push Service Notification을 자체 구현하는 방법입니다.

PushService 가 제공하는 API

API

설명

API

설명

getFeedPendingIntent(Boolean)

Feed 지면을 보여줄 수 있는 Intent 를 생성합니다.

  • True: Push Service Notification 을 클릭했을 시 앱의 Launch Activity 를 표시한 후, Feed 지면을 보여줍니다.

  • False: Push Service Notification 을 클릭했을 시 디바이스 최상단에 Feed 지면을 보여줍니다.

 

Push Notification 클릭 동작 변경

Push Notification 을 클릭 시 Feed 지면이 보입니다. Feed 지면을 앱의 Launch Activity 에서 보이게 할 수 있습니다. 기본값은 False 이며, False의 경우 Feed 지면이 현재 화면을 덮도록 보입니다. (다른 앱 위에 표시됩니다.)

다음은 Feed 지면을 앱의 Launch Activity 에서 보이게 하는 예시입니다.