안드로이드

Firebase FCM 기존 HTTP에서 HTTP v1로 마이그레이션

코딩하는후운 2024. 1. 29. 10:12
반응형

Firebase FCM 기존 HTTP에서 HTTP v1로 마이그레이션

타사 라이브러리 작업중 HTTP v1 API로 하라는 경고가 떠서 작성하게 되었습니다.

FCM(Firebase 클라우드 메시징) 서비스는 2024년 6월 20일을 기점으로 레거시(XMPP, HTTP) 방식의 통신 API를 중단하고,
새로운 HTTP v1 API를 지원합니다.

 

HTTP v1 API 장점

  • 액세스 토큰을 통한 보안 향상:
    • HTTP v1 API는 OAuth2 보안 모델에 따라 수명이 짧은 액세스 토큰을 사용합니다.
    • 액세스 토큰이 공개되는 경우에도 악의적으로 사용될 수 있는 시간은 만료되기 전 1시간 정도뿐입니다.
    • 갱신 토큰이 기존 API에서 사용하는 보안 키만큼 자주 전송되지 않으므로 캡처될 가능성이 매우 낮습니다.
  • 보다 효율적인 플랫폼에 따른 메시지 맞춤설정:
    • 메시지 본문의 경우 HTTP v1 API는 모든 대상 인스턴스에 전달되는 공용 키는 물론 플랫폼에 따라 메시지를 맞춤설정할 수 있는 플랫폼별 키가 있습니다.
    • 이러한 키를 사용하면 메시지 하나로 여러 클라이언트 플랫폼에 약간 다른 페이로드를 전송하는 '재정의'를 만들 수 있습니다.
  • 새 클라이언트 플랫폼 버전을 위한 확장성 강화 및 미래 경쟁력 확보:
    • HTTP v1 API는 Apple 플랫폼, Android, 웹에 제공되는 메시지 옵션을 완전히 지원합니다.
    • 플랫폼별로 JSON 페이로드에 자체 정의된 블록이 있으므로 FCM에서 필요에 따라 새 버전과 새 플랫폼으로 API를 확장할 수 있습니다.

 

서비스 비공개 키 발급

HTTP v1 전송 요청의 경우, 기존 요청에서 사용하는 서버 키 문자열 대신 OAuth 2.0 액세스 토큰이 필요합니다.
액세스 토큰을 얻기 위해서는 Firebase 프로젝트의 서비스 계정의 비공개 키 파일(JSON)이 필요합니다.

1. Firebase Console -> 프로젝트 설정 -> 서비스 계정 으로 이동

2. Firebase Admin SDK -> 새 비공개 키 생성
-> Json파일이 다운로드 됩니다. 

저는 이 단계에서 라이브러리쪽에 Json 등록해서 해당 라이브러리 푸시를 받을 수 있게 되어 여기까지 알아 보았습니다.
현재 앱의 푸시는 좀더 공부를.. 해봐야 할 것 같습니다.

 

아래에는 제 생각 입니다. (좀 더 공부를..)

모바일에서는 해당 파일만 가지고 있으면 될것 같다. (서버에서 처리 하는듯)

서버 엔드 포인트 업데이트 (서버에서도 작업 같이 해줘야 하는듯)

https://firebase.google.com/docs/cloud-messaging/migrate-v1?hl=ko#update-the-server-endpoint

 

기존 HTTP에서 HTTP v1로 마이그레이션  |  Firebase 클라우드 메시징

Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 기존 HTTP에서 HTTP v1로 마이그레이션 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분

firebase.google.com

 

 

참조 : 
https://wiki.uracle.co.kr/push/server/fcm/httpv1-guide

 

FCM HTTP v1 프로토콜 변경 가이드 문서

 

wiki.uracle.co.kr

https://firebase.google.com/docs/cloud-messaging/migrate-v1?hl=ko

 

기존 HTTP에서 HTTP v1로 마이그레이션  |  Firebase 클라우드 메시징

Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 기존 HTTP에서 HTTP v1로 마이그레이션 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분

firebase.google.com

 

반응형