IT관련

FCM(Firebase Cloud Messaging)이란? 완벽 정리

파란하늘999 2026. 1. 5. 10:04

모바일 앱 개발에서 필수적인 푸시 알림 기능을 구현할 때 자주 사용되는 **FCM(Firebase Cloud Messaging)**에 대해 정리해보겠습니다.

FCM은 구글에서 제공하는 강력한 도구로, 초보자부터 프로 개발자까지 많이 사용해요.

 

단계별로 쉽게 설명할게요!

1. FCM이란 무엇인가?

FCM은 Firebase Cloud Messaging의 약자로, 무료로 메시지를 안정적으로 전송할 수 있는 크로스 플랫폼 메시징 솔루션입니다.

  • 주요 특징:
    • Android, iOS, Web(자바스크립트) 모두 지원 (크로스 플랫폼)
    • 무료 사용 가능 (무제한 메시지 전송)
    • 이전 GCM(Google Cloud Messaging)의 후속 버전
    • 푸시 알림(Notification)뿐만 아니라 데이터 메시지(Data Message)도 전송 가능
    • 배터리 효율적이고 안정적인 연결 유지

FCM을 사용하면 앱이 백그라운드 상태일 때도 사용자에게 실시간 알림을 보낼 수 있어요. 예를 들어:

  • 새로운 메시지 도착 알림
  • 프로모션/마케팅 푸시
  • 데이터 동기화 알림

공식 문서: Firebase Cloud Messaging

2. FCM의 주요 메시지 유형

FCM은 두 가지 주요 메시지 유형을 제공합니다:

유형 설명 페이로드 크기 앱 상태에 따른 처리
알림 메시지
(Notification Message)
사용자에게 직접 보이는 푸시 알림 (제목, 본문, 아이콘 등) 최대 4KB 백그라운드: 시스템 트레이 자동 표시
포그라운드: 개발자 처리 필요
데이터 메시지
(Data Message)
앱 로직에서 처리할 데이터
(알림 없이 백그라운드 작업 가능)
최대 4KB 모든 상태: 앱에서 직접 처리
  • 알림 메시지: 간단한 푸시 알림에 적합
  • 데이터 메시지: 채팅 앱처럼 복잡한 데이터 전달에 유용

3. FCM의 동작 원리 (아키텍처)

FCM은 클라이언트 앱, 서버, Firebase 서버가 협력합니다:

  1. 클라이언트 앱 등록: 앱 실행 시 FCM 토큰(Registration Token)을 발급받음 (디바이스 고유 식별자)
  2. 토큰 서버 저장: 앱에서 토큰을 백엔드 서버로 전송해 저장
  3. 메시지 전송: 백엔드 서버가 FCM 서버에 메시지 요청
  4. FCM 라우팅: FCM이 해당 디바이스로 메시지 전달 (Android: Google Play Services, iOS: APNs)
  5. 앱 수신: 앱이 메시지 처리 (알림 표시 또는 데이터 처리)

4. FCM 설정 및 사용 방법 (간단 가이드)

1) Firebase 프로젝트 생성

  • Firebase 콘솔 접속
  • 새 프로젝트 생성 → 앱 추가 (Android/iOS/Web 선택)

2) 클라이언트 앱 설정 (예: Android)

  • google-services.json 파일 다운로드 후 앱에 추가
  • Gradle에 Firebase Messaging 라이브러리 추가:
    implementation 'com.google.firebase:firebase-messaging-ktx'
  • FCM 토큰 가져오기:
    FirebaseMessaging.getInstance().token.addOnCompleteListener { task ->
        if (task.isSuccessful) {
            val token = task.result
            // 서버로 토큰 전송
        }
    }

3) 메시지 수신 처리

  • FirebaseMessagingService 상속 클래스 생성
  • onMessageReceived 오버라이드하여 알림 처리

4) 서버에서 메시지 전송

  • Firebase 콘솔에서 테스트 전송 가능 (Cloud Messaging 메뉴)
  • 서버 측: Firebase Admin SDK 사용 (Node.js, Java 등 지원)
  • 또는 HTTP v1 API로 직접 POST 요청

5. FCM의 장점과 단점

장점:

  • 무료 + 고신뢰성
  • 크로스 플랫폼 지원
  • 토픽(Topic) 구독으로 그룹 푸시 가능 (예: 모든 사용자에게 브로드캐스트)
  • A/B 테스트, 분석 도구 내장

단점:

  • iOS는 APNs 인증서 추가 설정 필요
  • 웹 푸시는 HTTPS 필수 + 서비스 워커 설정
  • 대량 전송 시 rate limit 주의

6. 실제 활용 사례

  • 카카오톡, 네이버 앱: 실시간 메시지 알림
  • 쇼핑 앱: 프로모션 푸시
  • 게임: 이벤트 알림

FCM은 앱 사용자 재참여율을 높이는 데 최고의 도구예요. 처음 설정이 조금 복잡할 수 있지만, 한 번 해보면 정말 편리합니다!

 

더 자세한 튜토리얼이 필요하시면 공식 문서를 추천해요.

반응형