[flutter] FCM fore/background 별 메세지 받기

popolarburr·2023년 10월 26일
0
post-thumbnail

Firebase에서 메시지 처리는 플러터 앱에서 다양한 상황에 따라 동작합니다. 코드를 자세히 살펴보겠습니다.

FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) { ... }): 이 부분은 앱이 백그라운드에서 실행 중일 때 FCM 메시지를 수신하면 해당 리스너의 코드가 실행됩니다. 이 코드는 "A new onMessageOpenedApp event was published!"를 출력하는 간단한 로그 메시지를 표시합니다. 즉, 백그라운드에서 메시지를 받았을 때 실행됩니다.

FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler): onBackgroundMessage는 백그라운드에서 FCM 메시지를 처리하는 핸들러를 등록하는 부분입니다. _firebaseMessagingBackgroundHandler 함수는 백그라운드 메시지를 처리하며, 여기서 onBackgroundMessageData라는 변수를 사용하여 메시지 데이터를 로깅합니다.

결론적으로, 위의 코드에서 백그라운드에서 FCM 메시지를 받을 때 onMessageOpenedApp 리스너에 있는 로직은 동작하지 않습니다. 대신, _firebaseMessagingBackgroundHandler 함수가 백그라운드에서 동작합니다.

onMessageOpenedApp는 앱이 포그라운드에서 실행 중인 경우 또는 사용자가 백그라운드 알림을 탭하여 앱을 다시 열었을 때 호출됩니다. 백그라운드에서 메시지를 처리하려면 onBackgroundMessage와 같이 onMessage 대신 onMessageOpenedApp를 사용해야 합니다. 이렇게 하면 백그라운드 및 포그라운드에서 메시지를 처리할 수 있습니다.

profile
차곡차곡

0개의 댓글