Firebase

[Firebase] FCM이란 ?

  • -
728x90

 

 

Firebase란?

 

Firebase는 Google의 모바일 앱 개발 플랫폼이다. 여러가지 개발 시간 단축 및 확장 가능한 인프라가 포함되는 웹 및 모바일 애플리케이션 구축을 위한 백엔드 플랫폼이다.

 

Firebase는 간편한 애플리케이션 구축, 애플리케이션 릴리즈 및 모니터링, 사용자 참여 및 애플리케이션 프로모션을 쉽게 추적을 제공한다.

 

여러가지 인프라 중 Firebase에서 제공하는 Firebase Cloud Massage(이하 FCM)을 알아보자.

 

FCM이란?

FCM은 메시지를 안정적으로 무료 전송할 수 있는 크로스 플랫폼 메시징 솔루션이다.

FCM을 사용하면 새 이메일이나 기타 데이터를 동귀화할 수 있음을 클라이언트 앱에 알릴 수 있다. 이런 알림 메시지를 통해 사용자를 유지하고 재참여를 유도할 수 있다.

 

기본 원리

FCM 구현에는 송수신을 위한 두 가지 주요 구성요소가 포함된다.

  1. Firebase용 Cloud Functions 또는 앱 서버와 같이 메시지를 작성, 타겟팅, 전송할 수 있는 신뢰할 수 있는 환경
  2. 해당 플랫폼별 전송 서비스를 통해 메시지를 수신하는 Apple, Android 또는 웹(자바스크립트) 클라이언트 앱

FCM 아키텍처 개요

  1. 메시지 요청을 작성하거나 구현하는 도구
  2. FCM 백엔드
    1. 메시지 요청을 수락하는 등 여러 기능을 수행하는 FCM 백엔드는 주제를 통해 메시지 팬아웃을 수행하고 메시지 ID와 같은 메시지 메타데이터를 생성한다.
  3. 플랫폼 수준 전송 레이어
    1. 기기로 타겟팅된 메시지를 라우팅하고, 메시지 전송을 처리하고, 필요한 경우 플랫폼별 구성을 적용한다. 이 전송 레이어에는 다음이 포함된다.
      1. Google Play 서비스를 사용하는 Android 기기용 Android 전송 레이어 (ATL)
      2. Apple 기기용 Apple 푸시 알림 서비스 (APN)
  4. 사용자 기기의 FCM SDK
    1. 알림이 표시되거나 앱의 Foreground / Background 상태 및 관련 애플리케이션 로직에 따라 메시지가 처리된다.

Life Cycle

  • FCM에서 메시지를 수신하도록 기기를 등록한다.
    • 클라이언트 앱의 인스턴스가 메시지를 수신하도록 등록하여 앱 인스턴스를 고유하게 식별하는 등록 토큰을 받는다.
  • 다운스트림 메시지 전송 및 수신
    • 메시지를 보낸다. 앱 서버가 클라이언트 앱에 메시지를 보낸다.
      • 메시지는 알림 작성기 또는 신뢰할 수 있는 환경에서 작성되며 메시지 요청이 FCM 백엔드로 전송된다.
      • FCM 백엔드는 메시지 요청을 수신하고 메시지 ID와 기타 메타데이터를 생성하여 플랫폼별 전송 레이어로 보낸다.
      • 기기가 온라인 상태이면 메시지가 플랫폼별 전송 레이어를 통해 기기로 전송된다.
      • 기기에서 클라이언트 앱이 메시지 또는 알림을 수신한다.

구현 경로

  1. FCM SDK 설정
    1. 플랫폼에 맞는 설정 안내에 따라 앱에서 Firebase 및 FCM을 설정한다.
  2. 클라이언트 앱 개발
    1. 클라이언트 앱에 메시지 처리, 주제 구독 로직 또는 기타 선택사항 기능을 추가한다. 개발 중에는 알림 작성기에서 테스트 메시지를 쉽게 보낼 수 있다.
  3. 앱 서버 개발
    1. 인증, 보내기 요청 작성, 응답 처리 등을 수행하는 전송 로직을 만들 때 Firebase Admin SDK를 사용할지 아니면 서버 프로토콜 중 하나를 사용할지 결정한다. 그런 다음 신뢰할 수 있는 환경에 로직을 구축한다. 클라이언트 애플리케이션에서 업스트림 메시징을 사용하려면 XMPP를 사용해야 한다. 또한 Cloud Functons는 XMPP에 필요한 영구적 연결을 지원하지 않는다.

XMPP(Extensible Messaging and Presence Protocol)는 XML에 기반한 메시지 지향 미들웨어용 통신 프로토콜이다.

 

 

https://firebase.google.com/docs/cloud-messaging?authuser=0&_gl=1*dc0ptx*_ga*MTg1Njk1NDA0My4xNzA0MTc0MjU5*_ga_CW55HF8NVT*MTcwNDE3NDI1OS4xLjEuMTcwNDE3NTI4Mi42MC4wLjA.&hl=ko#implementation_paths

 

Firebase 클라우드 메시징

Firebase 클라우드 메시징(FCM)은 무료로 메시지를 안정적으로 전송할 수 있는 크로스 플랫폼 메시징 솔루션입니다.

firebase.google.com

 

728x90
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.