Recent Posts
Recent Comments
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
관리 메뉴

ㅇ.ㅇ

[FCM] Firebase Cloud Messaging에 대하여 본문

Today I Learned

[FCM] Firebase Cloud Messaging에 대하여

yun_ 2025. 1. 6. 16:10
반응형

 

 

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 아키텍처 및 플로우

  1. FCM 서버 구성
    • 서버 개발자는 FCM의 HTTP v1 API 또는 Legacy HTTP API를 사용하여 메시지 전송 요청을 전송.
    • 인증을 위해 **Google Cloud Platform(GCP)**에서 서비스 계정 키를 설정.
  2. 클라이언트 등록
    • 클라이언트 애플리케이션은 FCM SDK를 통해 고유한 토큰(Token)을 발급받음.
    • 이 토큰은 서버에서 메시지 전송 시 식별자로 사용.
  3. 서버-클라이언트 통신 플로우
    • 서버가 클라이언트 토큰을 FCM에 전송.
    • FCM은 토큰에 매핑된 기기로 메시지를 전달.
    • 클라이언트 애플리케이션은 메시지를 수신하여 처리.
  4. 토큰 관리
    • 서버는 클라이언트의 토큰을 데이터베이스에 저장하여 사용자의 디바이스에 알림을 보낼 수 있도록 유지.
    • 클라이언트 토큰은 변경될 수 있으므로 주기적으로 갱신 필요.

 

다음에는 직접 소스코드에 추가해서 연결하는 플로우를 작성해보려고 한다!

반응형

'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