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 9 Next »

개요

Local Push Notification을 통해 지정된 시간에 유저가 Feed 지면으로 진입하도록 유도합니다.

준비 사항

  • (ver 2.25.x) 3. 광고 지면 - Feed Feed 지면 연동 완료

  • Push를 보낼 시간과 각 시간별 Push에 노출할 메세지

    • 버즈빌 매니저에게 전달하시기 바랍니다.

    • 따로 설정하지 않을 시에는 기본 시간 옵션과 메세지가 노출됩니다.

      • 기본 시간 옵션: 9시, 17시, 21시

      • 기본 메세지

        • Notification 제목: 리워드 광고 구독하기

        • Notification 내용: 오직 한 시간, 너무 쉬운 포인트 쌓기 참여하세요!

초기화

BuzzAdPush 초기화를 생성하기 위해서는 CustomNotificationWorkerPushDialogConfig 가 필요합니다.
아래 가이드에 따라 CustomNotificationWorkerPushDialogConfig 를 구현하여 초기화합니다.

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

Push 구독

사용자는 Push를 수신할 시간을 설정해서 구독할 수 있습니다.

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

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

고도화된 구독 절차는 https://buzzvil.atlassian.net/wiki/spaces/BDG/pages/2270135576/ver+2.25.x+6.5.2.#BuzzAd-Push-%EA%B5%AC%EB%8F%85-%EA%B3%A0%EB%8F%84%ED%99%94을 참고하여 구현할 수 있습니다.
SDK에서 제공하는 구독 다이얼로그 UI는 https://buzzvil.atlassian.net/wiki/spaces/BDG/pages/2270135597/ver+2.25.x+6.5.3.#SDK-%EC%97%90%EC%84%9C-%EC%A0%9C%EA%B3%B5%ED%95%98%EB%8A%94-Dialog-UI-%EC%BB%A4%EC%8A%A4%ED%84%B0%EB%A7%88%EC%9D%B4%EC%A7%95을 참조하여 변경할 수 있습니다.

Push 구독 해지

Push 구독을 해지하면 Push 알림을 더 이상 받을 수 없습니다. SDK에서 제공하는 Push 구독 해지 다이얼로그를 통해 구독을 해지합니다.

buzzAdPush.unregisterWithDialog(MyActivity.this, new BuzzAdPush.OnRegisterListener() {
    @Override
    public void onSuccess() {
        // 구독 해지 성공 시 호출
    }

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

SDK에서 제공하는 구독 해지 다이얼로그 UI는 https://buzzvil.atlassian.net/wiki/spaces/BDG/pages/2270135597/ver+2.25.x+6.5.3.#SDK-%EC%97%90%EC%84%9C-%EC%A0%9C%EA%B3%B5%ED%95%98%EB%8A%94-Dialog-UI-%EC%BB%A4%EC%8A%A4%ED%84%B0%EB%A7%88%EC%9D%B4%EC%A7%95을 참조하여 변경할 수 있습니다.

Restart receiver 등록

디바이스를 재부팅하거나 앱 업데이트 후에도 Push가 정상적으로 동작할 수 있도록 하는 BroadcastReciever입니다. BroadcastReciever를 등록하지 않으면 Push가 제대로 동작하지 않을 수 있습니다.

Restart receiver 는 BroadcastReceiver를 상속하여 구현할 수 있습니다. PushDialogConfig는 초기설정과 동일해야합니다. 그리고, 구현한 BroadcastReceiver는 Manifest에 등록해야합니다.

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>
  • No labels