Notice
Recent Posts
Recent Comments
Link
투케이2K
144. (TWOK/STUDY) [투케이 학습] : Firebase Push V1 메시지 전송 방식 apns payload 페이로드 학습 - 파이어베이스 푸시 알림 본문
투케이2K 학습정리
144. (TWOK/STUDY) [투케이 학습] : Firebase Push V1 메시지 전송 방식 apns payload 페이로드 학습 - 파이어베이스 푸시 알림
투케이2K 2026. 3. 16. 19:14728x90
반응형
[제 목]
주 제 : 투케이 학습
제 목 : [투케이 학습] : Firebase Push V1 메시지 전송 방식 apns payload 페이로드 학습 - 파이어베이스 푸시 알림

[설 명]
-----------------------------------------------------------------------------------------
[구 분]
-----------------------------------------------------------------------------------------
구 분 : 투케이 학습 정리
제 목 : AWS KVS HLS 라이브 비디오 스트리밍 관련 사용 되는 간편 주요 용어 정리
사전) 👉 Firebase Push V1 간단 설명 :
>> Firebase Push V1 은 기존 FCM 레거시 HTTP 알림 발송 방식을 대체해 사용할 수 있는 향상 된 푸시 발송 서비스입니다.
>> FCM V1 기술 관련 내용 :
- 액세스 토큰을 통한 보안 향상 : HTTP v1 API는 OAuth2 보안 모델에 따라 수명이 짧은 액세스 토큰을 사용합니다
- 보다 효율적인 플랫폼에 따른 메시지 맞춤설정 : 메시지 본문의 경우 HTTP v1 API는 모든 대상 인스턴스에 전달되는 공용 키는 물론 플랫폼에 따라 메시지를 맞춤설정할 수 있는 플랫폼별 키 가 있습니다
- 새 클라이언트 플랫폼 버전을 위한 확장성 강화 및 미래 경쟁력 확보 : HTTP v1 API는 Apple 플랫폼, Android, 웹에 제공되는 메시지 옵션을 완전히 지원합니다
- 기기 그룹 메시징 관리 지원 제외 : HTTP v1은 기기 그룹에 메시지를 보낼 수 있지만 관리는 지원하지 않습니다
>> FCM V1 메시지 발송 관련 흐름도 :
- 관리자는 파이어베이스 콘솔에서 [비공개 키] 파일 발급 (JSON 파일)
- 관리자는 서버 특정 디렉토리에 발급 받은 [비공개 키] 를 삽입 및 환경 변수 설정 수행
- 푸시 서버에서는 [비공개 키] 를 통해 [사용자 인증 수행] 및 푸시 발송에 필요한 [액세스 토큰 발급] 요청
- 푸시 서버에서는 [액세스 토큰 발급] 이 완료 된 경우 HTTP 요청 [URL 정의], [헤더 값 추가], [메시지 발송 JSON 페이로드] 정의 수행
$ URL (POST) : https://fcm.googleapis.com/v1/projects/<PROJECT_UNIQUE_ID : 파이어베이스 콘솔에서 확인>/messages:send
$ Header : Authorization: Bearer <OAUTH_2_ACCESS_TOKEN : 액세스 토큰>
- 푸시 알림 메시지 발송 실시
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
[설 명]
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------
👉 사전) 주요 참고 사항 정리
-----------------------------------------------------------------
1. Android 기기의 특징 정리 :
>> 서버의 android.priority 는 전송 우선순위이고, 안드로이드 실제 알림 표시의 중요도 (Heads-up 여부 등) 는 앱에서 생성한 알림 채널의 Importance 에 의해 좌우됩니다.
>> 중요한 알림이라면 앱 측에서 높은 중요도의 채널을 미리 생성하고 (예: IMPORTANCE_HIGH), 필요 시 channel_id 를 지정하세요.
>> Android : android.priority → HIGH (즉시) / NORMAL (기본)
2. iOS 기기의 특징 정리 :
>> iOS 는 APNs 규격상 진동 패턴을 페이로드로 제어할 수 없습니다. (시스템 동작에 따릅니다)
>> iOS 기기에서 사용자가 시스템 설정에서 알림음을 ‘진동’ (Vibration) 으로 설정해두었다면, 서버가 FCM/APNs에 "sound": "default" 를 넣어 보내더라도 해당 메시지는 자동으로 “진동” 으로 재생됩니다.
- iOS 는 사용자 프라이버시·제어권을 우선시하며, 실제로 기본음을 재생할지, 진동으로 바꿀지는 사용자 설정이 우선합니다.
- 서버 → “기본 알림음 틀어줘” >> iOS → “사용자가 이 앱은 진동만 허용했으니까 진동으로 처리할게”
>> iOS : apns-priority 헤더 → 10 (즉시) / 5 (백그라운드)
3. Android 와 iOS 의 알림음 요청 시 기기에서 동작 되는 이벤트 정리
-----------------------------------------------------------------
구분 | 서버에서 기본음 지정 시 | 사용자가 기기에서 진동 지정 시
-----------------------------------------------------------------
iOS | "aps.sound": "default" 기본음 요청 | 무조건 사용자 설정 우선 (진동이 설정 된 경우 진동 출력)
-----------------------------------------------------------------
Android | default_sound: true 기본음 요청 | Android도 채널 설정이 우선이며, “진동만” 으로 설정된 채널이면 진동 발생
-----------------------------------------------------------------
4. Firebase 푸시 발송 v1 API 참고 사이트 :
푸시 발송 규격 : https://firebase.google.com/docs/cloud-messaging/send/v1-api?hl=ko
메시지 페이로드 JSON : https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages
-----------------------------------------------------------------
-----------------------------------------------------------------
✅ 푸시 메시지 전송 엔드포인트 및 헤더 토큰 추가 방법
-----------------------------------------------------------------
URL (POST) : https://fcm.googleapis.com/v1/projects/<PROJECT_UNIQUE_ID : 파이어베이스 콘솔에서 확인>/messages:send
Header : Authorization: Bearer <OAUTH_2_ACCESS_TOKEN : 액세스 토큰>
-----------------------------------------------------------------
-----------------------------------------------------------------
✅ 단일 기기 전송 (기본 알림음 + Android 진동 + 중요도 포함) body 페이로드
-----------------------------------------------------------------
{
"message": {
"token": "<device_token>", // 특정 단말기 (android, ios) 푸시 토큰
"notification": { // 푸시 알림 메시지에 표시 되는 title , message 지정
"title": "알림 제목",
"body": "알림 본문입니다."
},
"android": { // android 푸시 알림 설정 옵션
"priority": "HIGH",
"notification": {
"default_sound": true, // Android 기본 알림음
"default_vibrate_timings": true // Android 기본 진동
}
/* 또는 커스텀 진동 패턴을 직접 지정하려면 위의 default_vibrate_timings 대신 아래를 사용:
"notification": {
"default_sound": true,
"vibrate_timings": ["0s", "0.5s", "0.2s", "0.5s"]
}
*/
},
"apns": { // iOS 푸시 알림 설정 옵션
"headers": {
"apns-priority": "10"
},
"payload": {
"aps": {
"sound": "default" // iOS 기본 알림음
}
}
}
}
}
-----------------------------------------------------------------
-----------------------------------------------------------------
✅ 토픽 전송 (여러 기기 브로드캐스트) body 페이로드
-----------------------------------------------------------------
{
"message": {
"topic": "news", // 푸시 알림 구독 토픽 지정
"notification": { // 푸시 알림 메시지에 표시 되는 title , message 지정
"title": "뉴스 속보",
"body": "주요 소식을 알려드립니다."
},
"android": { // android 푸시 알림 설정 옵션
"priority": "HIGH",
"notification": {
"default_sound": true, // Android 기본 알림음
"default_vibrate_timings": true // Android 기본 진동
}
},
"apns": { // iOS 푸시 알림 설정 옵션
"headers": {
"apns-priority": "10"
},
"payload": {
"aps": {
"sound": "default" // iOS 기본 알림음
}
}
}
}
}
-----------------------------------------------------------------
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
[참고 사이트]
-----------------------------------------------------------------------------------------
[투케이 학습] : Firebase FCM V1 푸시 알림 전송 방식 학습
https://kkh0977.tistory.com/5029
https://blog.naver.com/kkh0977/223296547559?trackingCode=blog_bloghome_searchlist
[IOS : 파이어베이스 푸시 알림 (firebase push) 환경 적용 방법]
https://kkh0977.tistory.com/1399
https://blog.naver.com/kkh0977/222579428997?trackingCode=blog_bloghome_searchlist
[FCM V1 클라이언트 (Android, Ios) 토큰 유효성 검증 진행]
https://kkh0977.tistory.com/5830
https://blog.naver.com/kkh0977/223404791924?trackingCode=blog_bloghome_searchlist
[talend api 사용해 파이어베이스 푸시 FCM v1 방식 토큰 유효성 검증 http 요청 방법 (Fcm Client Token)]
https://kkh0977.tistory.com/5664
https://blog.naver.com/kkh0977/223382485331?trackingCode=blog_bloghome_searchlist
[Android] Firebase push v1 파이어베이스 푸시 V1 방식 메시지 수신 시 데이터 파싱 이슈
https://kkh0977.tistory.com/5296
https://blog.naver.com/kkh0977/223338727378?trackingCode=blog_bloghome_searchlist
-----------------------------------------------------------------------------------
728x90
반응형
'투케이2K 학습정리' 카테고리의 다른 글
Comments
