

    private fun logRegToken() {
        FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
            if (!task.isSuccessful) {
                Log.w("FCM", "Fetching FCM registration token failed", task.exception)
                return@OnCompleteListener
            }
            // 새 FCM 등록 토큰 받기
            val token = task.result
            SharedData.setSharedData(applicationContext, SharedData.PUSH_TOKEN, token)
            Utils.Log("FCM Registration token: $token")
        })
    }
{
    "to": "토큰값",
    "priority": "high",
    "data": {
        "title": "fcm test",
        "body": "postman"
    }
}
전송을 누르면 잘 들어오는 볼 수 있다!

이렇게 받은 데이터를 TextView 에 업데이트 시켜주고 싶다
EventBus 를 이용하여 메인으로 데이터를 보내서 업데이트 시켜주려한다.
// Event Bus
implementation 'org.greenrobot:eventbus:3.3.1'
데이터를 담아 보낼 객체를 생성한다
data class ResultModel(
    var title: String,
    var body: String
): Serializable
EventBus.getDefault().post(event)와 같은 형태로 이벤트를 발행한다
// 메시지 수신
override fun onMessageReceived(message: RemoteMessage) {
	super.onMessageReceived(message)
    
    if (message.data.isNotEmpty()) {
        val title = data["title"]
        val body = data["body"]
        val data = ResultModel(title,body)
        
    	// EventBus를 이용하여 이벤트 발생
		EventBus.getDefault().post(data)
    }
}
이벤트 버스로 데이터를 받을 액티비티에 EventBus 구독 등록/해제를 해준다
override fun onStop() {
	super.onStop()
	// EventBus 구독 해제
	EventBus.getDefault().unregister(this)
}
override fun onStart() {
	super.onStart()
	// EventBus 구독 등록
	EventBus.getDefault().register(this)
}
@Subscribe(threadMode = ThreadMode.MAIN) // Subscribe 어노테이션 등록
fun onEvent(result: ResultModel) {   // 이벤트 수신 시 이 콜백 메소드 실행
    
	with(binding) {
	
    	tvTitle.text = result.title
    	tvBody.text = result.body
        
	}
}