HEROJOON 블로그(히로블)

FCM 시작하기 본문

Backend

FCM 시작하기

herojoon 2020. 2. 24. 00:11
반응형

FCM이란

FCM(Firebase Cloud Messaging)은 Firebase에서 제공되는 Cloude Messaging Service이며 서비스가 종료된 GCM을 대신하는 서비스이다. Android에 메시지를 전송할 수 있도록 서비스를 제공하는 교차 플랫폼 무료 메시징 솔루션이다.

(참고링크 : https://firebase.google.com/docs/cloud-messaging?hl=ko)

 

GCM(Google Cloud Messaging)의 경우 FCM에 앞서 Google Android에 메시지를 전송할 수 있도록 제공되었던 서비스이다. 2019년 4월 10일(UTC기준)으로 서비스가 종료되었다.

 

Firebase는 2014년 10월에 Google에 인수된 기업으로 현재는 Google Cloud 전반적인 다양한 서비스를 모바일, 웹, 앱 등의 교차플랫폼으로 통합할 수 있도록 지원하고 있다.

 

쉽게 정리하면,

  • FCM Push를 전송하기 위한 서버에서는 Firebase에서 제공하는 FCM Admin SDK나 FCM 서버 프로토콜을 이용하여 Push를 전송할 수 있다.
  • FCM Push 메시지를 받기 위한 앱에서는 앱에 맞는 Firebase 및 FCM SDK설정을 해주면 FCM Push 메시지를 받을 수 있다.

목적

이 글의 목적은 FCM을 이용하여 Android앱에 메시지 전송하는 기능을 구현해보는 것입니다.

  • FCM을 급하게 사용해봐야 하는 경우를 위해서 글을 작성했습니다.
  • 또한 어디부터 접근해서 개발을 해야하는지 모르겠는 분들에게 어떤 방법으로 문서를 보고 프로젝트에 해당 기능을 어떻게 적용할 수 있는지에 대해서 알기 쉽게 정리했습니다.

FCM.. 당황하지 말고 Start..!

 

1. 개발환경

  • JDK : JDK8
  • Build : Gradle 5.2
  • FCM App (Android Studio 3.5.3)
  • FCM Push발송 API Server 프로젝트 (Framework : Spring Boot 2.2.4)

2. 공통 환경 셋업

  • JDK 설치
  • Gradle 설치

3. FCM App 프로젝트 생성 (Receiver)

3-1. Android Studio 환경 셋업

  • Android Studio 설치
  • FCM 앱 프로젝트 생성
  • Android Studio 환경 셋업 (Build / Plugin / Android SDK Download)
  • 생성한 프로젝트를 Android 애뮬레이터로 띄워보기

3-2. Android 앱 프로젝트에 Firebase설정

  • Firebase 프로젝트 생성
  • Firebase 구성파일 생성 (Android앱 용)
  • Firebase 의존 Library 추가

3-3. Android 앱 프로젝트에 FCM설정 및 코드작성

  • Firebase 개발 가이드 문서로 이동하기
  • Firebase에서 제공하는 Cloud Messaging Library 추가
  • FCM Push를 받기 위한 앱 설정
  • FCM Push 테스트를 위한 코드 작성

4. FCM Push발송 API Server 프로젝트 생성 (Sender)

4-1. Firebase Push전송 구현을 위한 준비

  • Firebase 개발 가이드 문서로 이동하기
  • FCM Push 전송을 위한 방법 2가지

4-2. Push 전송 프로젝트 생성

  • Spring Boot 프로젝트 생성

4-3. Firebase Admin SDK를 이용한 Push 전송

  • Firebase Admin SDK 의존 Library 추가
  • Firebase Admin 인증 초기화
  • Push 발송 API 구현 - 특정 기기에 메시지 전송

4-4. FCM 서버 프로토콜을 이용한 Push 전송

  • FCM 서버 엔드포인트
  • FCM 서버 프로토콜 인증
  • Push 발송 API 구현 - 특정 기기에 메시지 전송

2020/02/24 - [Backend] - Android Studio 환경 셋업

2020/02/28 - [Backend] - Android 앱 프로젝트에 Firebase설정

2020/02/28 - [Backend] - Android 앱 프로젝트에 FCM설정 및 코드작성

2020/03/17 - [Backend] - Android [Service took too long to process intent: com.google.android.c2dm.intent.RECEIVE App may get closed.]해결하기

2020/02/24 - [Backend] - Firebase Push전송 구현을 위한 준비

2021/08/15 - [Backend] - Push 전송 프로젝트 생성

2020/03/05 - [Backend] - Firebase Admin SDK를 이용한 Push 전송

2020/03/05 - [Backend] - FCM 서버 프로토콜을 이용한 Push 전송

 

반응형
Comments