FCM FCM 과 GCM 차이

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

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 제공

번호 제목 글쓴이 날짜 조회 수
29 [mdn web docs] Service worker를 사용해 PWA를 오프라인에서 동작하게 만들기 황제낙엽 2024.07.20 578
28 [ChatGPT] 모바일 환경에서 웹앱의 캐시(cache) 데이터를 서비스에서 업데이트로 갱신하는 방법 황제낙엽 2024.07.17 533
27 [ChatGPT] service-worker.js 에서 cache file list 를 동적으로 생성하여 적용하기 황제낙엽 2024.07.17 493
26 (Copilot) PWA Builder 에 대하여 황제낙엽 2024.07.05 687
25 PWA 데모 샘플들 file 황제낙엽 2024.07.04 645
24 FirebaseMessagingException: Requested entity was not found. 황제낙엽 2024.01.12 4363
23 PWA 관련 서적 두권에 대한 목차와 후기 황제낙엽 2023.11.29 535
22 (Copilot) Admin SDK Reference의 java 라이브러리를 이용하여 notification을 fcm에 전송하는 java 예제 황제낙엽 2023.11.28 772
21 firebase.messaging().getToken() 함수와 pushManager.subscribe() 함수의 관계 황제낙엽 2023.11.26 874
20 service worker 재작성시 수동 업데이트 file 황제낙엽 2023.11.25 520
19 [POST/2023.09.13] PWA (Progressive Web Apps) 관련 황제낙엽 2023.11.24 431
18 [POST/2019.11.25] 브라우저 알림(Notification) 팝업에 버튼 추가 with ServiceWorker file 황제낙엽 2023.11.24 528
17 [FCM] FCM 으로 알림 전송 테스트 (spring boot + android + fcm rest) 황제낙엽 2023.11.24 747
16 [FCM] Firebase Console 에서 메세지 보내기 file 황제낙엽 2023.11.24 777
15 (OMNIBUSCODE/FCM/WEB/JAVA) web push notification (web browser) 샘플 file 황제낙엽 2023.11.23 754
14 (Copilot) Notification Server 의 종류 황제낙엽 2023.11.23 707
13 (OMNIBUSCODE/FCM/WEB/JAVA) web push notification (web browser) 구현 절차 [1] 황제낙엽 2023.11.20 886
12 서비스 워커(service worker) 등록에 대한 LLM 챗봇의 답변 황제낙엽 2023.11.20 476
11 service worker 개발 참고용 링크 모음 황제낙엽 2023.11.10 454
10 service worker 개발을 위한 mozilla 공식 문서 file 황제낙엽 2023.11.10 427