목차
개요
Local Push Notification을 통해 지정된 시간에 유저가 Feed 지면으로 진입하도록 유도합니다. Push 지면이 표시되어 있는 동안에는 Push Notification 과 Push Service Notification 이 표시됩니다. 각각의 Notification은 변경하는 방법이 상이하므로 주의하시기 바랍니다.
준비 사항
Push를 보낼 시간과 각 시간별 메세지
버즈빌 매니저에게 전달해야합니다.
Push 초기화
Push 기능을 설정하기 위해서는 아래 2가지를 모두 진행해야 합니다.
Config 설정
NotificationConfig
와 PushDialogConfig
를 통해 Push 기능 및 UI를 설정할 수 있습니다. 자세한 내용은 고급 설정과 디자인 커스터마이징을 참고하시기 바랍니다.
public class CustomNotificationWorker extends NotificationWorker { public CustomNotificationWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) { super(context, workerParams); } @Override @NonNull public NotificationConfig getNotificationConfig() { return new NotificationConfig.Builder() .notificationId(1234) .build(); } }
final BuzzAdPush buzzAdPush = new BuzzAdPush( CustomNotificationWorker.class, new PushDialogConfig.Builder().build());
Restart receiver 등록
디바이스를 재부팅하거나 앱 업데이트 후에도 Push가 정상적으로 동작하도록 등록해야합니다. Restart receiver를 등록하지 않으면 Push가 제대로 동작하지 않을 수 있습니다.
다음은 Restart receiver 를 구현하는 방법입니다.PushDialogConfig
는 상기의 초기설정과 동일해야합니다.
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 시간설정 다이얼로그에서 유저가 “완료“를 누르면 구독이 시작됩니다.
수신 가능한 시간은 버즈빌 매니저를 통해 설정할 수 있습니다. 설정하지 않을 경우, 기본값이 적용됩니다.
Push 알림 기본 설정
기본 시간
9시, 17시, 21시
기본 문구
Notification 제목:
지금 바로 적립 가능한 포인트가 있어요!
Notification 내용:
앞으로 한 시간 적립의 기획! 포인트 챙겨가세요~
다음은 BuzzAd Android SDK에서 제공하는 구독 UI를 사용하여 사용자에게 Push 알림 구독을 유도하는 예시입니다.
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를 통해 구독을 해지하는 예시입니다.
buzzAdPush.unregisterWithDialog(MyActivity.this, new BuzzAdPush.OnRegisterListener() { @Override public void onSuccess() { // 구독 취소 성공 시 호출 } @Override public void onCanceled() { // 구독 취소 실패 시 호출 } });
제공되는 구독 취소 UI는 구독 다이얼로그 UI 변경을 참조하여 수정할 수 있으며, 별도의 구독 UI를 구현하기 위해서는 구독 취소 UI 자체 구현을 참고하여 구현할 수 있습니다.
Push 기능 및 디자인 변경
Push Service Notification 혹은 Push Notificaiton 의 기능 혹은 UI를 변경할 수 있습니다.
자세한 내용은 고급 설정및 디자인 커스터마이징을 참고하시기 바랍니다.