Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 19

...

Table of Contents
minLevel1
maxLevel1
exclude개요|목차

개요

...

Local Push Notification을 통해 지정된 시간에 유저가 Feed 지면으로 진입하도록 유도합니다. Push 지면이 표시되어 있는 동안에는 Push Notification 과 Push Service Notification 이 표시됩니다. 각각의 Notification은 변경하는 방법이 상이하므로 주의하시기 바랍니다.

준비 사항

  • Feed 지면 기본 설정 완료

  • Push를 보낼 시간과 각 시간별 메세지

    • 버즈빌 매니저에게 전달해야합니다.

Push 초기화

Push 기능을 설정하기 위해서는 아래 2가지를 모두 진행해야 합니다.

Table of Contents
minLevel1
maxLevel7
include(Config 설정)|(Restart receiver 등록)

...

Code Block
languagejava
public class CustomNotificationWorker extends NotificationWorker {
    @Override
    @NonNull
    public NotificationConfig getNotificationConfig() {
        return new NotificationConfig.Builder()
            .notificationId(1234) 
            .build();
    }
}
Code Block
languagejava
final BuzzAdPush buzzAdPush = new BuzzAdPush(
      CustomNotificationWorker.class,
      new PushDialogConfig.Builder().build());

...

Code Block
languagejava
public class MyRestartReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())
                || Intent.ACTION_MY_PACKAGE_REPLACED.equals(intent.getAction())) {
            
            final PushDialogConfig pushDialogConfig = new PushDialogConfig.Builder()
                .build();
            
            final BuzzAdPush buzzAdPush = new BuzzAdPush(
                CustomNotificationWorker.class,
                pushDialogConfig
            );
            buzzAdPush.registerWorkerIfNeeded(context);
        }
    }
}
<manifest ... >
    ...
    <application ... >
        ...
        <receiver
            android:name=".MyRestartReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

Push 알림 구독 다이얼로그 표시

...

유저가 Push 알림을 수신할 시간을 설정할 수 있는 다이얼로그를 보여줍니다. Push 시간설정 다이얼로그에서 유저가 “완료“를 누르면 구독이 시작됩니다.

...

다음은 BuzzAd Android SDK에서 제공하는 구독 UI를 사용하여 사용자에게 Push 알림 구독을 유도하는 방법입니다예시입니다.

Code Block
languagejava
buzzAdPush.registerWithDialog(MyActivity.this, new BuzzAdPush.OnRegisterListener() {
    @Override
    public void onSuccess() {
        // 구독 성공 시 호출
    }

    @Override
    public void onCanceled() {
        // 구독 실패 시 호출
    }
});

제공되는 구독 UI는 구독 다이얼로그 UI 변경을 참조하여 수정할 수 있으며, 별도의 구독 UI를 구현하기 위해서는 구독 UI 자체 구현을 참고하여 구현할 수 있습니다.

Push 구독 취소 다이얼로그 표시

...

사용자가 Push 알림을 받으려 하지 않을 경우, Push 알림 구독 취소 다이얼로그를 통해 설정할 수 있습니다. 구독을 취소하면 Push 알림을 더 이상 받을 수 없습니다.

다음은 BuzzAd Android SDK에서 제공하는 Push 구독 해지 UI를 통해 구독을 해지하는 방법입니다예시입니다.

Code Block
languagejava
buzzAdPush.unregisterWithDialog(MyActivity.this, new BuzzAdPush.OnRegisterListener() {
    @Override
    public void onSuccess() {
        // 구독 취소 성공 시 호출
    }

    @Override
    public void onCanceled() {
        // 구독 취소 실패 시 호출
    }
});

...