카테고리 없음

📌 FCM (Firebase Cloud Messaging)란?

idea9329 2025. 2. 24. 16:39
728x90
반응형

 

🔍 FCM (Firebase Cloud Messaging) Google Firebase에서 제공하는 무료 푸시 알림 서비스입니다.

  • 모바일 앱(Android, iOS) 및 웹 애플리케이션에 푸시 알림 전송 가능
  • 백엔드 서버에서 특정 기기 또는 그룹에 메시지 전송 가능
  • 실시간 메시지 전송, 앱 내 알림(Notification) 및 데이터 메시지 지원

📌 FCM의 주요 기능

 푸시 알림(Notification 메시지) 전송 → 앱이 실행 중이 아니어도 알림 표시 가능
 데이터 메시지 전송 → JSON 데이터 전송 및 앱 내 커스텀 처리
 기기별 / 주제별(Targeted) 메시지 전송 → 특정 유저, 그룹, 토픽에 메시지 발송
 무료 사용 가능 → Firebase의 기본 서비스로 제공


📌 FCM 메시지 유형

1️⃣ 알림 메시지 (Notification Messages)

  • FCM 서버에서 직접 푸시 알림을 전송
  • 앱이 백그라운드일 때 자동으로 푸시 알림 표시됨
  • JSON 형태의 간단한 메시지 전송 가능
{
  "to": "<FCM_TOKEN>",
  "notification": {
    "title": "새로운 메시지가 도착했습니다!",
    "body": "FCM 푸시 알림 테스트",
    "click_action": "OPEN_ACTIVITY"
  }
}

2️⃣ 데이터 메시지 (Data Messages)

  • 앱 내부에서 JSON 데이터 수신 후 직접 처리 가능
  • 푸시 알림이 아닌, 앱 내부 데이터를 업데이트할 때 유용
{
  "to": "<FCM_TOKEN>",
  "data": {
    "custom_key": "value",
    "message_id": "12345",
    "action": "update_data"
  }
}

3️⃣ 토픽 메시지 (Topic Messages)

  • 여러 사용자에게 동일한 메시지 전송 가능 (/topics/news 구독 시 전체 전송)
https://fcm.googleapis.com/fcm/send
{
  "to": "/topics/news",
  "notification": {
    "title": "새로운 뉴스!",
    "body": "오늘의 주요 뉴스 업데이트"
  }
}

📌 FCM 구현 방법

1️⃣ Firebase 프로젝트 생성

  • Firebase 콘솔 접속
  • 새 프로젝트 생성 후 Cloud Messaging 활성화

2️⃣ Firebase SDK 설치 (Android & iOS)

📍 Android (Kotlin/Java)

dependencies {
    implementation 'com.google.firebase:firebase-messaging:23.0.0'
}

📍 iOS (Swift)

import Firebase

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    return true
}

3️⃣ FCM 서버 키 & 기기 토큰 확인

  • Firebase Console → Cloud Messaging  서버 키(Server Key) 복사
  • 앱에서 FirebaseInstanceId.getInstance().getToken()으로 FCM 토큰 가져오기

4️⃣ 서버에서 FCM API 호출 (Python 예제)

import requests

server_key = "YOUR_SERVER_KEY"
device_token = "YOUR_FCM_DEVICE_TOKEN"

headers = {
    "Authorization": "key=" + server_key,
    "Content-Type": "application/json"
}

payload = {
    "to": device_token,
    "notification": {
        "title": "테스트 알림",
        "body": "FCM을 통한 푸시 알림 테스트입니다."
    }
}

response = requests.post("https://fcm.googleapis.com/fcm/send", json=payload, headers=headers)
print(response.json())

📌 FCM vs. APNs (Apple Push Notification Service)

구분FCM (Firebase Cloud Messaging)APNs (Apple Push Notification Service)

제공사 Google Apple
지원 플랫폼 Android, iOS, Web iOS 전용
주요 기능 푸시 알림, 데이터 메시지 푸시 알림
통합 관리 Firebase Console 제공 X

📌 FCM 관련 검색 키워드

✅ Firebase Cloud Messaging ✅ FCM 푸시 알림 ✅ FCM API 사용법
✅ FCM Android 적용 ✅ FCM iOS 푸시 알림 ✅ FCM 토픽 메시지

🚀 FCM을 활용하면 앱에 무료로 실시간 푸시 알림을 구현할 수 있습니다!
추가로 궁금한 점이 있으면 질문 주세요! 😊

반응형