FCM V1 API로 마이그레이션

2023. 11. 20. 13:37서버 프로그래밍

2년 넘게 잘 쓰고 있던 Firebase 메시징 기능이 어느날 갑자기 동작을 하지 않는다.

이것 저것 테스트를 해보아도 response는 정상이지만, 단말기로 메시지가 도착하지 않는다.

결국 FCM V1 API로 마이그레이션을 결정하고 적용했다.

핵심은 서버키 대신 OAuth 2.0 인증을 해야하는 것.

그런데 왜 공식 레퍼런스는 늘 한번에 이해하기 힘들게 되어 있는지... 업데이트도 안되어 있고.

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

 

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

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

firebase.google.com

 

* 주의 사항 : 기존 API 처럼 data에 추가 정보를 담아서 보낼 수 있는데, HTTP V1 API에서는 무조건 null이나 문자열만 value로 쓸수 있다. 배열이나 숫자는 허용되지 않음.

 

OAuth 2.0 Playground에서 푸시 테스트 방법

https://soulduse.tistory.com/95

 

FCM Push Notification(HTTP v1) with OAuth 2.0 Playground / Postman / Terminal - Part2

이전 글에서는 Firebase Console + FCM Legacy API로 푸시를 발송해보는 내용이었다면, 이번 Part2에서는 구글에서 권장하고 있는 FCM HTTP v1 API을 사용(현재 기준 가장 최신)하여 푸시를 발송해보는 내용을

soulduse.tistory.com

 

Credentials JSON 파일 생성 방법

https://intermittent-dev.tistory.com/5

 

[Android] FCM Firebase Cloud Messaging API(V1)를 사용하여 키 생성하기

[안드로이드] [안드로이드 스튜디오] FCM Firebase Cloud Messaging API(V1)을 사용하여 키 생성하기 오랜만에 푸시알림을 구현하기위해 FCM을 들어갔더니 기존에 사용하던 API가 아닌 새로운 방식으로 키를

intermittent-dev.tistory.com

 

Python에서 credentials JSON 파일로 access token 받는 라이브러리 함수와 예제

https://oauth2client.readthedocs.io/en/latest/source/oauth2client.service_account.html

 

oauth2client.service_account module — oauth2client 4.1.2 documentation

ServiceAccountCredentials, a credentials object created from the keyfile.

oauth2client.readthedocs.io

https://medium.com/@anar.272901/using-fcm-v1-api-in-python-easily-3803fa45f203

 

Using FCM V1 API in Python easily

Hey Everyone. As you know any more when you create a new fcm project you can't use legacy API. You only have to use V1 API. And it doesn't…

medium.com