Firebase Cloud Messaging
FCM(Firebase Cloud Messaging)은 메시지와 알림을 무료로 안정적으로 전송할 수 있는 크로스 플랫폼 메시징 솔루션이다. Google에서 제공 및 유지보수하며, 개발자는 이를 통해 Android, iOS, 웹 애플리케이션 사용자에게 데이터를 전달할 수 있다.
핵심 기능
- 다중 플랫폼 지원: 하나의 백엔드 코드로 다양한 플랫폼(Apple, Android, Web)의 클라이언트에 메시지를 전송한다.
- 타겟팅 기능: 특정 단일 기기, 기기 그룹, 또는 특정 주제(Topic)를 구독한 사용자 그룹에게 메시지를 전송할 수 있다.
- 커스텀 데이터 전송: 최대 4KB의 커스텀 키-값 쌍으로 구성된 데이터 페이로드를 클라이언트 앱에 전달한다.
FCM은 두 가지 주요 메시지 유형을 제공한다. 알림 메시지(Notification Message)와 데이터 메시지(Data Message)의 차이는 다음과 같다.
| 기능 | 알림 메시지 (Notification Message) | 데이터 메시지 (Data Message) |
|---|---|---|
| 목적 | 사용자 기기에 시각적인 알림을 표시 | 앱의 로직에서 처리할 백그라운드 데이터 전달 |
| 처리 주체 (백그라운드 상태) | 운영체제의 시스템 트레이 체제 (자동 표시) | 클라이언트 앱의 백그라운드 서비스 코드 |
| 처리 주체 (포그라운드 상태) | 클라이언트 앱의 콜백 함수 | 클라이언트 앱의 콜백 함수 |
| 페이로드 키 식별자 | notification | data |
| 주요 사용 사례 | 마케팅 알림, 공지사항, 사용자 재참여 유도 | 백그라운드 데이터 동기화, UI 업데이트 지시 |
출처
- Google Firebase, “Firebase Cloud Messaging”, https://firebase.google.com/docs/cloud-messaging
- Google Firebase, “Message types”, https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages