ㅇ.ㅇ
[FCM] Firebase Cloud Messaging에 대하여 본문
반응형
FCM은 무엇인가
FCM(Firebase Cloud Messaging)은 Google이 제공하는 크로스 플랫폼 메시징 서비스로, 앱 개발자가 Android, iOS, 웹 애플리케이션에 푸시 알림을 전송할 수 있도록 지원합니다. 기존의 GCM(Google Cloud Messaging)을 대체하며, 보다 간단하고 강력한 기능을 제공합니다.
FCM의 주요 기능
- 푸시 알림 전송 : 클라이언트 애플리케이션에 푸시 알림 메시지를 전달.
- 데이터 메시지 전송 : 사용자 지정 데이터 페이로드를 클라이언트에 전달.
- 주제 메시징(Topic Messaging) : 특정 주제에 구독한 다수의 사용자에게 메시지 브로드캐스트.
- 조건 메시징(Condition Messaging) : 논리 조건(예: 'TopicA' in topics && 'TopicB' in topics)에 따라 대상 설정.
- 기기 그룹 메시징(Device Group Messaging) : 기기 그룹을 대상으로 메시지 전송.
메시지 유형
- 알림 메시지(Notification Messages)
- 자동으로 앱의 알림 UI에 표시되는 메시지.
- 페이로드에 title과 body를 포함.
- 사용자의 앱이 백그라운드에 있을 때 적합.
- 데이터 메시지(Data Messages)
- 사용자 정의 데이터 페이로드를 전달.
- 클라이언트 애플리케이션에서 직접 처리하여 동작을 정의.
- 백그라운드 및 포그라운드 모두에서 동작 가능.
- 복합 메시지(Mixed Messages)
- 알림 메시지와 데이터 메시지를 함께 포함.
- 알림 UI를 자동 표시하면서 데이터도 전달 가능.
FCM 아키텍처 및 플로우
- FCM 서버 구성
- 서버 개발자는 FCM의 HTTP v1 API 또는 Legacy HTTP API를 사용하여 메시지 전송 요청을 전송.
- 인증을 위해 **Google Cloud Platform(GCP)**에서 서비스 계정 키를 설정.
- 클라이언트 등록
- 클라이언트 애플리케이션은 FCM SDK를 통해 고유한 토큰(Token)을 발급받음.
- 이 토큰은 서버에서 메시지 전송 시 식별자로 사용.
- 서버-클라이언트 통신 플로우
- 서버가 클라이언트 토큰을 FCM에 전송.
- FCM은 토큰에 매핑된 기기로 메시지를 전달.
- 클라이언트 애플리케이션은 메시지를 수신하여 처리.
- 토큰 관리
- 서버는 클라이언트의 토큰을 데이터베이스에 저장하여 사용자의 디바이스에 알림을 보낼 수 있도록 유지.
- 클라이언트 토큰은 변경될 수 있으므로 주기적으로 갱신 필요.
다음에는 직접 소스코드에 추가해서 연결하는 플로우를 작성해보려고 한다!
반응형
'Today I Learned' 카테고리의 다른 글
[CS] BIOS에 관하여 (0) | 2025.01.03 |
---|---|
[보안] OWASP Dependency-Check 사용방법 (0) | 2024.12.29 |
[보안] SOP에 관하여 (0) | 2024.12.29 |
[보안] 마스커레이드(Masquerade)에 관하여 (1) | 2024.12.23 |
[Java] java ee에 관하여 (1) | 2024.12.22 |