Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

정해진 시간에 Push를 노출하기 위해서 Push를 구독해야합니다. Push를 구독하기 위한 방법 3가지 있습니다.

  1. Push 설명 다이얼로그를 보여준 후 구독 시간 설정

  2. Push 설명 다이얼로그 없이 구독 시간 설정

  3. UI 없이 구독하기

1) Push 설명 다이얼로그를 보여준 후 구독 시간 설정

...

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

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

2) Push 설명 다이얼로그 없이 구독 시간 설정

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

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

3) UI 없이 구독하기

SDK에서 제공하는 UI를 사용하지 않고 별도의 UI를 구현할 수 있습니다.
단, 사용자는 구독 시간을 선택할 수 없습니다. 설정된 시간에 Push가 노출됩니다.

Code Block
languagejava
buzzAdPush.register(MyActivity.this);

Step 3. Push 구독 해제

Push 를 비활성화 하기 위해서buzzAdPush.unregisterWithDialog() 를 호출합니다.

1) 구독 해제 UI 사용

Push unregister 다이얼로그가 보이고 구독 취소를 누르면 unregister 합니다Push를 구독할 수 있습니다. https://buzzvil.atlassian.net/wiki/spaces/BDG/pages/2270135576/ver+2.25.x+6.5.2.#BuzzAd-Push-%ED%99%9C%EC%84%B1%ED%99%94-%EB%B0%A9%EB%B2%95-%EC%BB%A4%EC%8A%A4%ED%84%B0%EB%A7%88%EC%9D%B4%EC%A7%95 를 참고하시기 바랍니다.

Push 구독 해지

Push 구독을 해지하면 Push 알림을 더 이상 받을 수 없습니다. Push를 구독하기 해지하는 위한 방법 2가지 있습니다.

  1. Push 설명 다이얼로그를 보여준 후 구독 해지

  2. UI 없이 구독해지

1) Push 설명 다이얼로그를 보여준 후 구독 해지

SDK에서 제공하는 Push 구독 해지 다이얼로그를 통해 구독을 해지합니다.

...

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

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

2) UI없이 구독 해제해지

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

Code Block
languagejava
buzzAdPush.unregister(MyActivity.this);

구독 상태 확인

Push 가 활성화 상태인지 확인하기 위해 boolean isRegistered(Context context)호출합니다호출하여 Push 구독 여부를 확인할 수 있습니다. 구독 여부를 확인하여 UI에 반영할 수 있습니다.

Code Block
languagejava
buzzAdPush.isRegistered(context)

...

Restart receiver 등록

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

...

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

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);
        }
    }
}

...

Code Block
languagexml
<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>