FcmMessagingService

FIrebase Messaging Service 클래스

onNewToken

  • 토큰이 새로 발급 되었을 때의 활동을 정의한다.

  • Remote Config 실시간 갱신을 위해 주제를 구독한다.

  • 새로 발급 된 토큰 값을 서버에 전송한다.

override fun onNewToken(token: String?) {
    Log.d(TAG, "Refreshed token: $token")

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // Instance ID token to your app server.

    //긴급 업데이트, 공지, 서버작업 등에 활용하기 위한 주제 구독
    FirebaseMessaging.getInstance().subscribeToTopic("PUSH_RC")
    sendRegistrationToServer(token)
}

onMessageReceived

  • Firebase Cloud Message를 수신했을때의 로직을 정의한다.

  • Remote Config 갱신 메시지를 받으면 SharedPreference에 저장하여 앱 재로딩시 update 하게 한다.

  • Notification 객체를 수신하였을 때 notification을 띄운다.

override fun onMessageReceived(message: RemoteMessage?) {
    //super.onMessageReceived(message)

    //TODO CONFIG_STATE 관련 어떻게 와서 어떻게 처리할지 ??? 확인
    val CONFIG_STATE = message?.data?.containsKey("CONFIG_STATE")
    if(CONFIG_STATE != null){ //update check 를 강제 하기위한 로직
        if (CONFIG_STATE) {
            Log.i(TAG, "=== CONFIG_STATE : $CONFIG_STATE 저장 ===")
            SharedPreferenceManager.setConfigState(true)
            return
        }
    }
    Log.i(TAG, "============= onMessageReceived ==============")
    setNotification(message)

}

Last updated

Was this helpful?