본문으로 바로가기

[Flutter Flow] FCM API에서 HTTP v1로 이전

category 인턴일기🌱 2025. 4. 7. 17:27

 

HTTP 및 XMPP에 지원 중단된 FCM 기존 API를 사용하는 앱은 가능한 한 빨리 HTTP v1 API로 이전해야 합니다. 
2023년 6월 20일에 이러한 API를 사용하여 메시지(업스트림 메시지 포함)를 전송하는 기능이 지원 중단되었으며 
2024년 7월 22일에 종료되기 시작합니다.

공식 문서에 따르면 그렇다고 한다...
정말 다행스럽게도 졸업 프로젝트에서 fcm을 써서 알림 기능을 구현했었는데
졸프가 끝나고 나서 기존 api를 사용하여 메시지를 전송하는 기능이 중단되었다.

졸프 중간에 기능을 수정하지 않아도 돼서 다행이었지만

이번 프로젝트에서 내가 push 알림 기능을 맡았기 때문에
다시 이게 무슨 말인지, 어떻게 구현하라는 건지 알아봐야 한다....

 



HTTP v1 API의 장점

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

 

Flutter Flow 프로젝트에서 HTTP v1 API

우선 가장 주요한 내용은 서버키를 사용하던 방식 대신 
OAuth2 보안 모델에 따라 수명이 짧은 액세스 토큰을 사용한다는 것이다.

우선 액세스 토큰을 얻기 위해서는 firebase의 비공개 키 파일이 필요하다.
firebase의 설정으로 들어가서 서비스 계정으로 들어간다.
여기서 새 비공개 키 생성을 눌러주면 키가 들어있는 json 파일을 다운로드 받을 수 있다.

 

flutter flow에서 http v1 api 설정이 필요한가? < 의문!

 

 

[참고링크]

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

 

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

 

wiki.uracle.co.kr

https://learn.microsoft.com/ko-kr/azure/communication-services/tutorials/call-chat-register-android-push-fcm-v1

 

FCM v1을 사용하여 Android SDK 푸시 알림 등록 - An Azure Communication Services tutorial

Google Firebase Cloud Messaging(FCM HTTP v1)을 사용하여 Android SDK 푸시 알림을 등록하는 방법을 알아봅니다.

learn.microsoft.com