Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Index

Push는 두 가지 방법으로 Register/Unregister 를 할 수 있습니다.

  1. Default dialog - SDK 에서 제공하는 Register/Unregister dialog 사용

  2. Custom view - SDK 에서 제공하는 Register/Unregister 함수 사용

두가지 방법 모두 Customize 할 수 있으며 방법은 아래에 소개합니다.


1. Default dialog - SDK 에서 제공하는 Register/Unregister dialog customize

Step 1. PushDialogConfig 설정

  1. colorConfirm: 확인버튼 색상 color resource id

  2. colorCancel: 취소버튼 색상 color resource id

  3. imageRegisterLogo: register dialog 로고 이미지 drawable resource id

  4. imageUnregisterLogo: unregister dialog 로고 이미지 drawable resource id

final PushDialogConfig pushDialogConfig = new PushDialogConfig.Builder()
                .colorConfirm(R.color.colorAccent)
                .colorCancel(R.color.colorPrimary)
                .imageRegisterLogo(R.drawable.benefit_push_dialog_image_logo)
                .imageUnregisterLogo(R.drawable.benefit_push_dialog_image_logo)
                .build();
                
private BuzzAdPush initBuzzAdPush() {
        return new BuzzAdPush(
                App.UNIT_ID_PUSH,
                CustomNotificationWorker.class,
                pushDialogConfig
        );
    }

BuzzAdPush buzzAdPush = initBuzzAdPush();

Step 2. Dialog Text 변경 (Optional)

Text 는 기본으로 제공되며, 필요한 경우 아래와 같은 방법으로 변경이 가능합니다.

./res/values-ko/strings.xml 에 Push 관련 string 을 같은 id 로 입력하면 dialog text 가 변경됩니다.

Push 설명 Dialog
<string name="benefit_push_settings_dialog_register_step_1_title">리워드 광고 구독하기</string>
<string name="benefit_push_settings_dialog_register_step_1_message">원하는 시간대에 놓치는 리워드 광고를 모아서 참여할 수 있는 기능입니다. 간편하게 구독하고 푸짐한 리워드 받아가세요! 광고가 없는 경우에는 알림이 가지 않습니다.</string>
<string name="benefit_push_settings_dialog_register_step_1_confrim">다음</string>
<string name="benefit_push_settings_dialog_register_step_1_cancel">나중에 하기</string>

Push register (시간설정) Dialog
<string name="benefit_push_settings_dialog_register_step_2_title">구독 시간을 선택해 주세요</string>
<string name="benefit_push_settings_dialog_register_step_2_subscribe_all">모두 구독</string>
<string name="benefit_push_settings_dialog_register_step_2_confrim">완료</string>
<string name="benefit_push_settings_dialog_register_step_2_cancel">나중에 하기</string>

Push unregister Dialog
<string name="benefit_push_settings_dialog_unregister_title">구독을 취소합니다</string>
<string name="benefit_push_settings_dialog_unregister_message">지금 구독을 취소하면 더 이상 리워드 광고 구독하기 알림을 받아볼 수 없습니다. 취소 하시겠습니까?</string>
<string name="benefit_push_settings_dialog_unregister_confrim">구독 취소</string>
<string name="benefit_push_settings_dialog_unregister_cancel">나중에 하기</string>

Step 3. registerWithDialog/unregisterWithDialog 사용

이 방법을 사용하면 Push 에서 제공하는 Default Dialog 를 사용해서 간단하게 register/unregister 를 구현 가능합니다.

Register

Push register dialog 는 두개의 dialog 로 구성돼있습니다. 첫 번째는 Push 설명 Dialog, 두 번째는 Push 설정 Dialog.

registerWithDialog(Activity, OnRegisterListener)

registerWithDialog(Activity, showPushDescription, OnRegisterListener)

(Optional) 설명 Dialog 가 필요하지 않은 경우 registerWithDialogshowPushDescription 파라미터를 false 로 설정하면 됩니다.

buzzAdPush.registerWithDialog(activity, new BuzzAdPush.OnRegisterListener() {
    @Override
    public void onSuccess() {
        switchAdNotiRegister.setChecked(true);
    }

    @Override
    public void onCanceled() {
        switchAdNotiRegister.setChecked(false);
    }
});

Unregister

Unregister 확인 Dialog 를 보여주며 유저선택에 따라 unregister 합니다

unregisterWithDialog(Activity, OnRegisterListener)

buzzAdPush.unregisterWithDialog(activity, new BuzzAdPush.OnRegisterListener() {
    @Override
    public void onSuccess() {
    
    }

    @Override
    public void onCanceled() {
    
    }
});

2. Custom view - SDK 에서 제공하는 Register/Unregister dialog customize

이 방법은 Default 로 제공하는 Register Dialog 를 사용하지 않고, 직접 View 를 그리고 싶은 경우 사용합니다.

아래 함수들을 차례로 사용합니다.

Register

Step 1.

buzzAdPush.fetchPushHoursOptionIfNeeded: 설정 가능한 시간을 서버로부터 받아옵니다.

Step 2.

buzzAdPush.getPushHoursOption: fetch 후 설정 가능한 시간을 읽어옵니다. (fetch 에 실패해도 이 함수를 호출하면 Push에서 default 로 제공하는 값을 사용할 수 있습니다.)

// Step 1
buzzAdPush.fetchPushHoursOptionIfNeeded(
    activity,
    new PushRepository.OnFetchResultListener() {
        @Override
        public void onFetchFail() {
            // Step 2. fetch 에 실패해도 Push에서 default 로 제공하는 값을 사용할 수 있습니다
            List<Integer> list = buzzAdPush.getPushHoursOption(MainActivity.this);
        }
    
        @Override
        public void onFetchSuccess() {
            // Step 2
            List<Integer> list = buzzAdPush.getPushHoursOption(MainActivity.this);
        }
    });

Step 3.

buzzAdPush.setPushHours: 설정 가능한 시간 중 유저가 선택한 시간을 Push SDK 에 등록합니다.

Step 4.

buzzAdPush.register: 위 단계 설정이 끝나면 Push 를 등록하여 활성화합니다.

List<Integer> result = new ArrayList<>();
...
result.add(hour);
...
// Step 3
buzzAdPush.setPushHours(activity, result);
// Step 4
buzzAdPush.register(activity);

Unregister

Step 5.

buzzAdPush.unregister: Push 를 등록 해지 합니다.

buzzAdPush.unregister(activity);

  • No labels