FCM FCM 과 GCM 차이

황제낙엽 2019.02.19 09:31 조회 수 : 137

FCM 과 GCM 용어

먼저 간단히 용어부터 정리하자.

 

GCM 이란?

  • Google Cloud Messaging 의 약자
  • 구글에서 제공하는 Server 와 Client app 간에 푸쉬 메시지를 보낼 수 있는 서비스
  • Android & iOS 를 지원

 

FCM 이란?

  • Firebase Cloud Messaing
  • GCM 의 새 버전을 의미하는데 단지 Firebase 진영에 속하는 것 뿐이다.
  • GCM 의 주요 구조를 그대로 갖고 있으며 Android & iOS & Mobile Web 등의 다양한 플랫폼을 모두 커버한다.

 

FCM 과 GCM 유래

  • 모바일 개발자에게는 GCM 이라는 용어가 익숙하다. 국내의 많은 모바일 앱의 Push 가 GCM 을 사용하고 있는 상황
  • Google 에서는 Google Cloud 를 이용한 Push 서비스 기반을 GCM 으로 닦아온 상황이며, Mobile Web 의 중요도가 높아짐에 따라 Mobile Application 뿐만 아니라 Mobile Web 등 모든 플랫폼에서 사용 가능한 FCM 서비스를 내놓았다.

 

FCM 과 GCM 차이

  • GCM 의 Client 단 구현시에 번거로웠던 등록 및 구독 로직을 FCM 라이브러리 안에 포함시켜 개발자가 별도로 개발하지 않아도 된다.
  • 또한, Firebase Analytics insight 의 기능을 활용하여 특정 타겟층에 push 전송이 가능해졌다.
  • 앞으로 구글에서는 새로운 기능들을 모두 FCM 쪽에만 추가하고, GCM 에는 추가하지 않을 것이라고 한다. 따라서, FCM SDK 사용을 강력히 권장하고 있다.
  • GCM 은 결국 FCM 의 일부이며 GCM 으로 기 구현된 서비스들도 FCM 으로 동일하게 구현이 가능하다고 한다.

 

 

FCM으로 변경해야 하는 이유

Android Oreo 버전의 기기부터 FCM을 사용하지 않은 push messege의 수신이 제한됨

  * Oreo부터 백그라운드 실행 제한

  * push messege의 수신 및 notification display도 백그라운드 실행 제한에 포함

  * 단 FCM으로 수신받은 push messege는 예외

  * 공식문서: https://developer.android.com/about/versions/oreo/background.html?hl=ko

 

  * 앱 종료 혹은 기기 sleep mode시 push notification을 띄워주지 않음

 

 

FCM은 GCM의 확장판

  (참고: https://joshua1988.github.io/web-development/fcm-gcm-difference/)

FCM(https://firebase.google.com/docs/cloud-messaging/)

Firebase: 

  * google의 클라우드 개발 플랫폼(https://firebase.google.com/?hl=ko)

  * BaaS, FaaS 제공

번호 제목 글쓴이 날짜 조회 수
» FCM 과 GCM 차이 황제낙엽 2019.02.19 137
22 FCM (firebase cloud message) 사용하기 황제낙엽 2021.02.09 15
21 책 2권에 대한 목차와 후기 황제낙엽 2023.11.29 7
20 PWA 관련 링크 모음 황제낙엽 2023.11.06 5
19 [Copilot] 모바일 브라우저가 활성화되지 않은 상태에서 웹서비스가 사용자에게 push notifications 를 할 수 있는 방법 황제낙엽 2023.11.04 5
18 (OMNIBUSCODE/FCM/WEB/JAVA) web push notification (web browser) 샘플 file 황제낙엽 2023.11.23 3
17 푸쉬 알림 개발 관련 레퍼런스 황제낙엽 2023.11.09 2
16 firebase.messaging().getToken() 함수와 pushManager.subscribe() 함수의 관계 황제낙엽 2023.11.26 1
15 service worker 재작성시 수동 업데이트 file 황제낙엽 2023.11.25 1
14 [POST/2023.09.13] PWA (Progressive Web Apps) 관련 황제낙엽 2023.11.24 1
13 [bard] web-push와 fcm 의 차이 황제낙엽 2023.11.08 1
12 FirebaseMessagingException: Requested entity was not found. 황제낙엽 2024.01.12 0
11 (Copilot) Admin SDK Reference의 java 라이브러리를 이용하여 notification을 fcm에 전송하는 java 예제 황제낙엽 2023.11.28 0
10 [FCM] FCM 으로 알림 전송 테스트 (spring boot + android + fcm rest) 황제낙엽 2023.11.24 0
9 [FCM] Firebase Console 에서 메세지 보내기 file 황제낙엽 2023.11.24 0
8 (Copilot) Notification Server 의 종류 황제낙엽 2023.11.23 0
7 (OMNIBUSCODE/FCM/WEB/JAVA) web push notification (web browser) 구현 절차 [1] 황제낙엽 2023.11.20 0
6 서비스 워커(service worker) 등록에 대한 LLM 챗봇의 답변 황제낙엽 2023.11.20 0
5 [POST/2019.11.25] 브라우저 알림(Notification) 팝업에 버튼 추가 with ServiceWorker file 황제낙엽 2023.11.24 0
4 service worker 개발 참고용 링크 모음 황제낙엽 2023.11.10 0