Push Notification

Enable / Disable Push Notification

사용자가 Push Notification을 받을 지 여부를 설정할 수 있습니다.

// 사용자 Push Notification 활성화
TalkPlus.enablePushNotification(new TalkPlus.CallbackListener<TPUser>() {
    @Override
    public void onSuccess(TPUser tpUser) {
    }
    @Override
    public void onFailure(int i, Exception e) {
    }
});

// 사용자 Push Notification 비활성화
TalkPlus.disablePushNotification(new TalkPlus.CallbackListener<TPUser>() {
    @Override
    public void onSuccess(TPUser tpUser) {
    }
    @Override
    public void onFailure(int i, Exception e) {
    }
});

특정 채널의 Push Notification을 받을 지 여부를 설정할 수 있습니다.

Push Notification

TalkPlus의 Push Notification은 FCM을 통하여 이루어지게 됩니다. 기본적인 FCM을 연동하신 후, User를 로그인한 후 registerFCMToken 함수를 호출하여 FCM 토큰을 User 세션에 연동하여야 합니다.

로그인이 완료된 후 아래와 같이 FirebaseMessaging을 통하여 token을 얻어 register 하시는 것을 권장 드립니다.

이후 아래와 같이 onMessageReceived에 TalkPlus에서 제공하는 processFirebaseCloudMessagingData 함수를 호출하는 코드를 삽입하여 Push Notification을 처리할 수 있습니다.

Foreground인 경우 기존에 등록되어있는 ChannelListener를 통하여 자동으로 콜백을 올리게 됩니다.

Background인 경우 앱이 실행되어있지 않은 상태라 등록된 콜백이 없을 수 있으므로 아래와 같이 1회용 콜백을 함께 등록하여 이벤트를 받아 원하는 동작을 수행하실 수 있습니다.

processFirebaseCloudMessagingData 함수에서 마지막 인자값으로 forceCallbackboolean 으로 받게 되어 있는데, forceCallback은 실시간 채널에서 콜백 수신과 상관없이 FCM 통해 무조건 콜백을 받아 처리하기 위해서는 true로 넘겨주셔야 합니다.

포그라운드와 백그라운드 모두 동일하게 onMessageReceived를 통해 개발자가 원하는대로 컨트롤 하려면 Data타입의 푸쉬를 받아야 합니다. 대시보드에 다음과 같이 설정해야 data 타입 푸쉬를 받게 됩니다.

  • 전체 Push Notification 설정 활성화

  • AOS "메시지 수신 알림" 비활성화

Last updated