앱에 푸시 알림을 붙이려면 앱 쪽 FCM 설정, 메시지를 보낼 서버, 그리고 iOS의 APNs 인증 키와 Android 13 이상의 알림 권한이 필요합니다. Firebase Cloud Messaging(FCM, 앱으로 알림을 보내는 서비스) 개요는 구현 경로를 세 갈래로 나눕니다.
FCM SDK 설정, 클라이언트 앱 개발, 앱 서버 개발입니다. 2026년 11월 5일 Firebase·Apple·Android 공식 문서를 읽고, 개발자에게 무엇을 물어볼지 알 수 있는 준비물 순서로 정리했습니다.
1. 앱 푸시 알림에는 무엇이 필요한가요?
세 가지입니다. FCM 개요는 앱에서 Firebase와 FCM을 설정하는 일, 클라이언트 앱(사용자 휴대폰에 깔리는 앱)에 메시지 처리 기능을 넣는 일, 알림을 보낼 앱 서버를 만드는 일로 나눕니다.

전송 로직은 Firebase Admin SDK 또는 FCM v1 API로 작성할 수 있다고 문서가 안내합니다. 개발 중에는 Firebase의 알림 작성기에서 테스트 메시지를 쉽게 보낼 수 있습니다.
2. Android는 6.0 이상 기기와 서비스 추가가 필요합니다
FCM 클라이언트는 Android 6.0 이상의 Google Play 스토어 앱이 설치된 기기 또는 Google API로 Android 6.0을 실행하는 에뮬레이터가 필요하다고 Firebase 문서는 적었습니다. Google Play 스토어를 통해서만 Android 앱을 배포하도록 제한되지는 않는다고도 합니다.
순서는 Android 프로젝트에 Firebase를 추가하고, FirebaseMessagingService를 확장하는 서비스를 매니페스트에 넣는 것입니다. 이 서비스는 백그라운드에서 알림을 받는 것 외의 방식으로 메시지를 처리하려는 경우에 필요하다고 문서가 설명합니다.
Google Analytics는 FCM의 메시지 전송 보고에 반드시 필요하다고 문서는 적었고, 사용 설정을 적극 권장합니다.
3. Android 13 이상은 알림 권한을 따로 요청해야 합니다
Android 13에는 알림 표시를 위한 새로운 런타임 권한이 도입됐고, FCM 알림을 쓰는 Android 13 이상의 모든 앱에 영향을 준다고 문서는 설명합니다. Android 개발자 문서도 Android 13(API 수준 33) 이상에서 알림 전송을 위한 런타임 권한을 지원한다고 적었습니다.

FCM SDK 23.0.6 이상은 매니페스트에 POST_NOTIFICATIONS 권한이 기본으로 들어 있습니다. 그래도 앱에서 이 권한의 런타임 버전을 요청해야 하며, 사용자가 이 권한을 부여할 때까지 앱에서 알림을 표시할 수 없습니다.
Android 13 이상을 타겟팅하는 앱은 알림 권한을 직접 요청해야 하고, 사용자가 허용하기 전에는 알림이 보이지 않습니다.
4. iOS는 APNs 인증 키와 개발자 계정 설정이 필요합니다
Apple 문서의 영어 원문을 우리말로 옮기면, Apple 푸시 알림 서비스(APNs)는 알림을 보내려면 사용자 기기의 주소를 알아야 합니다. 이 주소가 앱과 기기마다 고유한 기기 토큰입니다.
Apple 문서는 Xcode 프로젝트에서 Push Notifications capability를 켜고, 개발자 계정에서 프로젝트에 지정한 App ID의 푸시 알림 서비스를 켜라고 안내합니다. 기기 토큰은 앱을 시작할 때마다 받고, 로컬 저장소에 캐시하지 말라고 적었습니다.
Firebase 쪽에서는 APNs 인증 키를 업로드합니다. 아직 키가 없다면 Apple Developer Member Center에서 만들라고 안내합니다.
iOS 앱은 Firebase에 APNs 인증 키를 올려야 하고, 개발 인증 키와 프로덕션 인증 키 중 최소 하나가 필요합니다. Apple 앱은 FCM의 APNs 인터페이스로 최대 4,096바이트의 알림 및 데이터 페이로드를 받을 수 있다고 적혀 있습니다.
5. 등록 토큰을 앱 서버에 저장해야 보낼 수 있습니다
FCM SDK는 앱을 처음 시작할 때 그 앱용 등록 토큰을 만듭니다. Android에서 토큰을 얻으려면 FirebaseMessaging.getInstance().getToken()을 호출하고, 새 토큰이 생기면 onNewToken 콜백이 호출됩니다. 토큰이 확보되면 앱 서버로 보내 저장하라고 문서가 안내합니다.

Android 문서는 새 기기에서 앱 복원, 앱 제거·재설치, 앱 데이터 소거 때 토큰이 바뀔 수 있다고 적었습니다. 새 토큰이 생길 때마다 onNewToken 콜백이 호출되므로, 이때 서버에 다시 보내도록 만들 수 있습니다.
6. 광고 푸시라면 동의와 비용은 따로 확인합니다
구현이 끝나도 광고를 보내려면 수신 동의가 따로 필요합니다. KISA 안내서는 앱 푸시 알림 허용이 광고성 정보 수신동의에 해당하지 않는다고 설명합니다.
FCM을 쓰는 비용은 이 글에서 다루지 않습니다. 개발자와 이야기할 때는 위 세 갈래 가운데 어디까지 맡길지 먼저 정하면 대화가 쉬워집니다.
정리하면 푸시 구현의 준비물은 다섯 가지입니다.
- 앱에서 Firebase와 FCM을 설정하고, 알림을 보낼 앱 서버를 만듭니다
- Android는 6.0 이상 기기가 필요하고, 포그라운드 알림·데이터 메시지를 처리하려면 FirebaseMessagingService를 추가합니다
- Android 13 이상은 알림 권한(POST_NOTIFICATIONS)을 앱에서 요청합니다
- iOS는 Push Notifications capability, App ID 설정, APNs 인증 키 업로드가 필요합니다
- 등록 토큰은 앱 서버에 저장하고, 새 토큰이 생기면 다시 보냅니다
이 블로그를 운영하는 AiApp에서는 Firebase 기반 푸시 알림과 SMS·LMS·MMS, 카카오 알림톡 발송을 서비스 안에서 제공합니다. 요금은 요금제 페이지에 있습니다.
알림톡과 푸시 중 무엇을 쓸지는 앱 푸시 알림톡 차이, 무엇을 쓸까?에, 전체 비교는 알림톡 비용 총정리, 문자·푸시와 비교에 정리했습니다. 문자를 앱에 붙이는 방법은 문자 발송 api 비용, 앱에 붙이면을, FCM 비용은 firebase 푸시 알림 비용, 정말 무료일까?를 참고하세요.
참고자료 (모두 2026년 11월 5일 확인)
- Firebase 문서 「Firebase Cloud Messaging」 — firebase.google.com/docs/cloud-messaging
- Firebase 문서 「Android 앱에서 메시지 수신」 — firebase.google.com/docs/cloud-messaging/android/client
- Firebase 문서 「Apple 플랫폼 클라이언트 앱에서 메시지 수신」 — firebase.google.com/docs/cloud-messaging/ios/client
- Android Developers 「알림 런타임 권한」 — developer.android.com/develop/ui/views/notifications/notification-permission
- Apple Developer 「Registering your app with APNs」 — developer.apple.com/documentation/usernotifications/registering-your-app-with-apns
- KISA 「불법스팸 방지를 위한 정보통신망법 안내서」(KISA-GD-2025-0037) — kisa.or.kr/401/form?postSeq=3608
#앱푸시구현 #FCM #푸시알림 #APNs #Android13알림권한



