IT 개발2026-05-14

FCM 푸시 알림 연동: 플랫폼별 준비와 메시지 관리

FCM 플랫폼별 준비물과 메시지·등록 정보 관리를 정리합니다.

FCM 푸시 알림 연동: 플랫폼별 준비와 메시지 관리

안녕하세요. 사랑받는 IT 프로덕트의 첫걸음, 똑똑한개발자입니다.

Firebase Cloud Messaging(FCM)은 앱과 웹에 메시지를 전달하는 서비스입니다. 서버가 발송을 요청하면 FCM과 플랫폼별 전송 계층을 거쳐 기기로 전달됩니다. 오늘은 HTTP v1 인증, 플랫폼별 준비물과 메시지·등록 정보 관리 방법을 알아보겠습니다.

FCM 푸시 알림의 등록과 전달 흐름

FCM 푸시 알림 연동 구조 - 앱, 서버, FCM HTTP v1 API, 플랫폼별 전송 계층 흐름도

앱이 FCM에 등록하고 식별자를 받습니다.

2026년 10월 기준 Firebase 공식 문서는 Firebase 설치 ID(FID)를 권장하고 토큰 방식은 지원 중단으로 표시하지만 전환 기간이라 둘 다 쓸 수 있습니다.

서버는 식별자를 회원 정보와 묶어 저장합니다.

누구에게 보낼지는 서버가 정합니다.

서버가 FCM에 요청하면 FCM이 플랫폼별 전송 계층에 넘깁니다.

Firebase 아키텍처 문서상 Android는 자체 전송 계층, 애플 기기는 APNs, 웹은 웹 푸시 프로토콜을 타니 iOS 푸시는 애플 서버를 거치는 셈입니다.

서버 키 방식은 2024년에 끝났습니다

FCM 푸시 알림 레거시 API 서버 키와 HTTP v1 OAuth 2.0 인증 비교

Firebase 마이그레이션 가이드에 따르면 레거시 HTTP·XMPP API는 2023년 6월 20일 지원 중단됐고 2024년 7월 22일부터 종료가 시작됐습니다. 예전 글의 Authorization: key= 헤더는 이제 통하지 않습니다.

HTTP v1 API는 서비스 계정으로 발급한 OAuth 2.0 액세스 토큰을 쓰는데 유효기간이 제한되어 있습니다. 서비스 계정 자격증명과 발송 권한은 별도로 안전하게 관리합니다. Admin SDK를 쓰면 인증까지 SDK가 처리해 줍니다.

POST https://fcm.googleapis.com/v1/projects/{프로젝트ID}/messages:send
Authorization: Bearer {액세스 토큰}

FCM 연동 준비물은 플랫폼마다 다릅니다

FCM 푸시 알림 연동 플랫폼별 준비물 - iOS APNs 키, Android 13 알림 권한, 웹 VAPID 키

iOS는 APNs 인증 키를 Firebase에 올립니다.

애플 개발자 계정에서 만든 APNs 인증 키(.p8)를 키 ID와 함께 Firebase 콘솔 프로젝트 설정의 Cloud Messaging 탭에 업로드합니다.

Android 13 이상은 알림 권한을 앱이 요청합니다.

FCM SDK 23.0.6 이상이 매니페스트에 POST_NOTIFICATIONS를 선언해 주지만 런타임 요청은 앱 몫입니다. 허용 전엔 알림이 뜨지 않으니 권한을 언제 물을지도 기획 과제입니다.

웹은 VAPID 키와 서비스 워커가 필요합니다.

웹 푸시 인증서 탭에서 키 쌍을 만들고 도메인 루트에 firebase-messaging-sw.js를 둡니다. HTTPS 페이지에서만 동작하고 아이폰 웹 푸시 조건은 앞서 정리한 PWA란 글에서 다뤘습니다.

알림 메시지와 데이터 메시지, 무엇으로 보낼까요

FCM 푸시 알림 메시지와 데이터 메시지 차이

구분

알림 메시지

데이터 메시지

내용

정해진 표시용 키(제목·본문 등)

직접 정한 키-값만

백그라운드

권한과 플랫폼 조건에 따라 시스템 표시

앱 코드 처리, OS 실행 제한의 영향

적합한 용도

공지, 마케팅 알림

채팅 동기화, 화면 갱신

두 형식 모두 최대 4,096바이트이고 콘솔 발송은 1,000자까지입니다. 여러 사용자에게 공통 정보를 보낼 때는 토픽을 활용할 수 있습니다. 토픽 이름을 안다는 것만으로 민감한 메시지에 접근하지 않도록 개인 정보는 개별 대상으로 구분합니다. 구독자 수 제한은 없지만 공식 문서상 토픽은 지연 시간보다 처리량에 맞춰져 있어 급한 개인 알림은 개별 발송이 낫습니다.

토큰은 저장보다 관리가 어렵습니다

Firebase 토큰 관리 가이드는 서버에 마지막 갱신 시각을 남기라고 권합니다. 한 달간 연결이 없으면 오래된 등록으로 보고 Android는 270일 비활성이면 만료되지만 iOS에는 이 규칙이 없어 직접 정리해야 합니다. 응답이 UNREGISTERED(HTTP 404)면 다시 유효해지지 않으니 지워도 됩니다.

광고성 푸시는 수신 동의를 따로 받습니다

OS 알림 권한을 받았다고 광고 동의까지 받은 건 아닙니다. 영리 목적 광고성 정보를 보내려면 정보통신망법 제50조에 따라 명시적 사전 동의가 필요하고 오후 9시부터 다음 날 오전 8시 사이 발송에는 별도 동의를 받아야 합니다. 전송자 명칭과 수신 거부 방법 표시, 동의 여부의 정기 확인도 같은 조항에 있습니다.

FCM 푸시 알림 연동 출시 전 점검 체크리스트

세부 항목과 최신 적용 조건은 FCM 등록 정보 관리 가이드를 참고해 보세요.


알림을 누른 뒤의 경험까지 생각합니다

똑똑한개발자 소개

서비스에 필요한 연동 기능을 하나씩 붙이다 보면 화면뿐 아니라 데이터와 운영 방식도 함께 살펴보게 됩니다. 지금 서비스에 필요한 범위부터 차근차근 정리해볼 수 있습니다.

똑똑한개발자는 UX/UI 디자인과 웹·앱 개발을 함께 진행합니다. 사용자가 이용하는 화면과 운영에 필요한 기능을 연결해 서비스를 만들어가는 과정을 돕습니다.

서비스에 필요한 연동 기능을 준비하면서 궁금한 점이 있다면 아래 똑똑한개발자 링크로 편하게 이야기 남겨주세요. 함께 살펴보겠습니다. 감사합니다. :)

클립보드에 복사되었어요 ✓
이 글을 공유해보세요!