-
Firebase Cloud Messaging (FCM)1 - FCM이란Firebase Cloud Messaging (FCM) 2021. 5. 25. 15:44
이 글은 개인적인 견해로부터 작성된 글이니, 공식 문서를 함께 찾아보시는 것을 추천드립니다. 본 카테고리 FCM의 목표는 Spring Boot와의 연동을 통해 Web Push 테스트를 하는 것이 목적입니다.
FCM
- Firebase Cloud Messaging의 약자로 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션입니다.
- 보통 Push 알람을 위해서 사용하는데 저는 Web Push 기능을 사용해보고자 FCM을 도입하게 되었습니다.
- 특정 개인에게 메시지를 보낼 수 있고, 특정 Topic을 구독하는 사용자에게 전체 메시지를 보낼 수 있습니다.
참고 : https://firebase.google.com/docs/cloud-messaging?hl=ko
FCM 장점
- 교차 플랫폼이기 때문에 특정 플랫폼에 종속적이지 않게 사용할 수 있습니다.
- Push 알림 서비스를 개발하기 용이합니다.
FCM 주요 기능
- 알림 메시지, 데이터 메시지 전송
- 사용자에게 표시되는 푸시 알림 메시지 전송
- 애플리케이션 단에서 처리하는 데이터 메시지 전송
- 다양한 메시지 타겟팅
- 단일 기기 ( 특정 사용자 )
- 기기 그룹 ( 사용자의 그룹 )
- 주제를 구독한 기기 ( Topic의 구독 )
참고 : https://firebase.google.com/docs/cloud-messaging?hl=ko
FCM 메시지 유형
- 알림 메시지 ( Push 메시지로 Back Ground에서 동작하는 알림 )
- FCM이 클라이언트를 대신해서 수신자 기기에 자동으로 메시지를 표시합니다
- FCM에서 제공하는 JSON 형식 알림 메시지 예제입니다.
- 데이터 메시지 ( payload 메시지로 Fore Ground 동작 알림 X )
- 클라이언트에서 메시지를 처리합니다.
- FCM에서 제공하는 JSON 형식 데이터 메시지 예제입니다.
- 모두 사용하는 메시지
- 특정 상태 ( Fore, Back Ground에 따라 다르게 동작 )
FCM에서 제공하는 기본 예제로 Back Ground인 경우 알림 푸시, Fore Ground인 경우 데이터 페이로드를 제공합니다.
FCM의 동작 ( 발췌 - Firebase 공식 문서 )
- 메시지 요청을 작성하거나 구현하는 도구입니다. 알림 작성기는 알림 요청을 만들기 위한 GUI 기반 옵션을 제공합니다. 모든 메시지 유형을 완벽하게 자동화하고 지원하려면 Firebase Admin SDK 또는 FCM 서버 프로토콜을 지원하는 신뢰할 수 있는 서버 환경에서 메시지 요청을 구현해야 합니다. 이 환경은 Firebase용 Cloud Functions, App Engine 또는 자체 앱 서버일 수 있습니다.
- FCM 백엔드는 다른 기능 중에서 메시지 요청을 수락하고, 주제를 통해 메시지를 확장하고, 메시지 ID와 같은 메시지 메타데이터를 생성합니다.
- 기기로 타겟팅된 메시지를 라우팅하고, 메시지 전송을 처리하고, 필요한 경우 플랫폼별 구성을 적용하는 플랫폼 수준의 전송 레이어입니다. 이 전송 레이어에는 다음이 포함됩니다.
- Google Play 서비스를 사용하는 Android 기기용 Android 전송 레이어(ATL)
- iOS 기기용 Apple 푸시 알림 서비스(APN)
- 웹 앱용 웹 푸시 프로토콜
- 알림이 표시되거나 앱의 포그라운드/백그라운드 상태 및 관련 애플리케이션 로직에 따라 메시지가 처리되는 사용자 기기의 FCM SDK입니다.
이번 포스팅에서는 FCM에 대해 간략하게 알아보았고,
다음 포스팅에서는 Spring Boot를 사용해 알림 메시지, 데이터 메시지를 테스트해보는 글을 작성하겠습니다.
'Firebase Cloud Messaging (FCM)' 카테고리의 다른 글
Firebase Cloud Messaging (FCM) 3 - ForeGround 오류 (0) 2021.05.30 Firebase Cloud Messaging (FCM) 2 - FCM 프로젝트 생성 및 테스트 (5) 2021.05.25