반응형
FCM Message Type
Notification Message: Firebase 콘솔을 사용하여 메세지를 전송할 수 있고 JSON형식을 따릅니다. 데이터 또한 포함해서 보낼 수 있습니다.(포어그라운드 / 백그라운드 상태에서 동작 가능) -Data를 포함해서 보낼 수 있습니다.
- 백그라운드 상태 : 시스템 트레이를 통하여 Notification이 표시 -> Default로 처음 시작하는 Activity가 실행
- 포어그라운드 상태 : onMessageReceived를 통해 데이터 처리
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
Data Message: 클라이언트 앱에서 데이터를 처리해야하거나 혹은 커스텀된 알림을 보여줄 때 사용합니다.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}
두 개의 메세지 유형 최대 PayLoad는 4KB입니다.
Notification Message(data 포함) JSON에 따른 내용들은onMessageReceived()을 통해 데이터를 처리할 수 있습니다.
override fun onMessageReceived(remoteMessage: RemoteMessage) {
if(remoteMessage.notification != null){
Log.i("body", remoteMessage.notification!!.body.toString()) //notification body 부분
Log.i("title", remoteMessage.notification!!.title.toString()) //notification title 부분
Log.i("data", remoteMessage.data.toString()) //Data 부분 출력
//메세지 출력
sendNotification(remoteMessage)
//수신 받은 데이터 처리
updateData(remoteMessage.data)
}
}
반응형
'개발 > Android' 카테고리의 다른 글
[Android] (번역) Comparing Kotlin Coroutines with Callbacks and RxJava (0) | 2021.08.20 |
---|---|
[Android] 스마트폰 내장 DB를 사용하기 위한 Room 2탄 (0) | 2021.08.13 |
[Android] 스마트폰 내장 DB를 사용하기 위한 Room 1탄 (0) | 2021.08.08 |
[Android] View Binding(뷰 바인딩) (0) | 2021.08.05 |
[Android] 디자인 패턴 (MVC, MVP, MVVM) (0) | 2021.08.03 |
댓글