새소식

반응형
REACT-NATIVE/기능

친절한 Firebase Cloud Messaging 푸시 알림 API (feat.HTTP v1 API로 이전)

  • -
반응형

모바일에선 푸시 알림이 필수 기능중에 하나이다.

그리고 푸시 알림을 특정 조건이 이루어지거나 내 커스텀 Admin에서 보내고 싶다면 API 사용은 필수이다.

 

새 캠페인에서 알림으로 보내는것은 한계가 있다.

Firebase Messaging 화면

 

고로 API로 만들어야 하는데 구현과정중 기존의 방식에서 HTTP v1 API로 이전됨에 따라 달라졌으므로 헷갈리는 부분을 짚어주고자 한다.

 

공식문서는 https://firebase.google.com/docs/cloud-messaging/migrate-v1?hl=ko&authuser=0이다. 

 

기존 FCM API에서 HTTP v1로 이전  |  Firebase Cloud Messaging

2024년 데모 데이에서, Firebase를 사용하여 AI 기반 앱을 빌드하고 실행하는 방법에 관한 데모를 시청하세요. 지금 시청하기 의견 보내기 기존 FCM API에서 HTTP v1로 이전 컬렉션을 사용해 정리하기 내

firebase.google.com

 

 

차근차근 읽어보고 하면 될것 같지만 개인적으로는 문서가 그리 친절하지 않고 A-Z부터 설명되어 있지 않은 느낌이다. 우선 성공 사례부터 보고 시작하자.


먼저 성공한 API 샘플입니다.

여기서 각 값들만 본인의 프로젝트중에 어디서 어떻게 얻어내는지만 알아내면 성공하실것입니다.

FCM success api sample1

 

FCM success api sample2

 

반응형

1. URL

fcm api url

※ 우선 위의 url에서 Project id는 빨간 동그라미 안에 있는 값이다. myproject-b5ae1에 해당하는 값이다.

get firebase project id

 


2. Authorization Bearer Token

Bearer 토큰을 얻기위한 _get_access_token()에 대한 코드는 구글 git 주소를 참조하면 된다.

https://github.com/firebase/quickstart-python/blob/2c68e7c5020f4dbb072cca4da03dba389fbbe4ec/messaging/messaging.py#L45-L48

 

quickstart-python/messaging/messaging.py at 2c68e7c5020f4dbb072cca4da03dba389fbbe4ec · firebase/quickstart-python

Contribute to firebase/quickstart-python development by creating an account on GitHub.

github.com

 

위의 코드중에서 _get_access_token() 메서드의 리턴 값이 Bearer token이다.

fcm api get authorization bearer token

 

참고로 이 코드 실행 시킬려면 service-account.json도 필요한데 이거는 프로젝트 설정 -> 서비스 계정에서 키 생성하면 된다.

firebase 프로젝트 설정 -> 서비스 계정 -> 새 비공개 키 생성

 

대략 <project id>-firebase-adminsdk-sao40-8fa84d6ad9.json 이런식으로 생성이 될것이다.

 

3. Device Token { "message": { "token" : ? } }

특정 device에 알림을 보내기 위한 토큰 값이다.

각각의 device마다 코드가 다를테니 token값을 필요에 맞게 수집하던지해서 사용해야한다.

api device token sample

 

이 부분에 해당하는건데 이 토큰은 React-native 프로젝트 코드에서 얻어야한다.

get device fcm token

이 코드에서 콘솔 로그로 FCM Token: 찍히는 저 값이 Device token이다.


위의 값들을 처음 API 샘플에 잘 대입하여 실행해보면  마침내 API 푸시 알림을 보낼 수 있게 되는것이다.

이번에 FCM API 구현하면서 드래곤볼 찾고 모으느라 힘들었다. 공식문서는 불친절했고 Gemini와 GPT도 최신 업데이트된 방식이라 잘 모르더라.. 하.. 누군가는 이 문서를 보고 참 깨달음을 얻고 HTTP v1 API로 API를 구현할 수 있길 바란다.

반응형

'REACT-NATIVE > 기능' 카테고리의 다른 글

React-Native android status바, system bar 제거  (0) 2025.01.08
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.