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)
제공사 | Apple | |
지원 플랫폼 | Android, iOS, Web | iOS 전용 |
주요 기능 | 푸시 알림, 데이터 메시지 | 푸시 알림 |
통합 관리 | Firebase Console 제공 | X |
📌 FCM 관련 검색 키워드
✅ Firebase Cloud Messaging ✅ FCM 푸시 알림 ✅ FCM API 사용법
✅ FCM Android 적용 ✅ FCM iOS 푸시 알림 ✅ FCM 토픽 메시지
🚀 FCM을 활용하면 앱에 무료로 실시간 푸시 알림을 구현할 수 있습니다!
추가로 궁금한 점이 있으면 질문 주세요! 😊
반응형