회사에서 업무중 FCM를 이용한 푸시를 구현하는 중 개념을 정리하고자한다.
클라이언트의 상태는 3가지로 나뉜다
1. 포그라운드 --> 앱이 켜져있는 상태 앱이 화면 앞단에 위치하고 있는 상태
2. 백그라운드 --> 앱이 화면이 뒤로 넘어가 있는 상태
3. 터미네이티드 --> 앱이 완전히 종료된 상태
FCM의 메세지의 형태는 2가지로 나뉜다
1. 알림 메시지
2. 데이터 메시지
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
},
"data" : {
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"
}
}
}
메시지의 형태가 다음과 같을 때 notification를 추가하면 알림메시지, 삭제하면 데이터 메시지이다.
단 여기서 중요한 부분은
알림 메시지의 경우 Flutter에서 백그라운드, 포그라운드에서 강제로 푸시가 표시된다.
따라서 푸시 클릭 시 화면 이동등 과 같이 푸시 커스텀을 하는 경우 데이터 메시지를 전송 할 것을 추천한다. (물론 알림메시지를 통해서도 백,포그라운드 화면 이동은 가능하다...)
'Flutter' 카테고리의 다른 글
Flutter IOS 재부팅시 FCM이 수신되지 않을 때 (0) | 2024.03.25 |
---|---|
Firebase Cloud Messaging(FCM) 구현 - 1 (1) | 2024.03.24 |
에뮬레이터에서 localhost 접근 url (0) | 2024.01.21 |
자동으로 해상도 대응을 해주는 screenutil 패키지 (0) | 2024.01.18 |
Row안에서 글자 높이 맞추기 (0) | 2024.01.17 |