본문 바로가기
Android

[Android] FCM (Firebase Cloude Messaging Service) 구현 과정

by 박매트 2024. 5. 21.

질문

원래 보통 이렇게 이루어지는 것 같은데, 플로니 앱에선 어떻게 작동하나요??
  1. 앱 -> 서버 API 요청
  2. 서버 -> 파베 API 요청
  3. 파베 API 요청 확인 -> 앱 리스너 실행 (title, 알람 내용 받아옴)

 

Floney 앱에서 FCM은 기존 방식과는 살짝 달라보였고,

iOS 팀에서 어떻게 구현이 되어있나 여쭈어보았다.

 

현재까지 FCM 개발 현황을 정리해보겠다.

보통 앱 -> 서버 -> 파베 API 요청 FCM을 처리하게 되어서 보통 서버에서 파베 API를 요청하는 듯 싶었다.

 

플로니 앱에선 그렇지 않고, 알람 요청 시, 앱 단에서 파베 API 요청을 하는 것이었다.

 

파베 요청 API

url : https://fcm.googleapis.com/v1 ~

 

헤더

액세스 토큰 (서버에서 준 구글 토큰 값)

 

바디 : 

token : 디바이스 토큰, 알람 보내기 위해서 따로 받아올 수 있는 토큰 ( FCM에서 제공하는 로직으로 받아오면 됨 )

title : 알람 제목

message : 알람 설명

 

구현해야 할 것

- 각 기기마다 디바이스 토큰 캐싱해놓고 있다가 가계부에 접근할 때마다, 디바이스 토큰 다시 받아와서 firebase DB에 접근해서 업데이트

-  파베 요청 API 보낼 때,  해당 가계부 bookKey에 해당하는 경로에 접근해서 사용자 본인을 제외한 나머지 팀원들의 디바이스 토큰을 모두 가져와서 순차적으로 post해야함 !

 

처음에 디바이스 토큰 개념 이해가 안가서.. 너무 헷갈렸다.

하지만 설계가 또 달라질 수 있으니.. 우선 보류

 

경로 : Cloud Firestore

books > bookKey -> users -> 이메일 수집. - > 각 이메일 당 fcmToken 알아내서 Post 해야함