Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

FCM 아키텍처 개요

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

FCM은 메시지를 작성, 전송 및 수신하는 다음 구성 요소 집합에 의존합니다.

  1. 메시지 요청을 작성하거나 작성하기 위한 도구입니다. 알림 작성기는 알림 요청을 생성하기 위한 GUI 기반 옵션을 제공합니다. 모든 메시지 유형 을 완전 자동화하고 지원하려면 Firebase Admin SDK 또는 FCM 서버 프로토콜을 지원하는 신뢰할 수 있는 서버 환경 에서 메시지 요청을 빌드해야 합니다. 이 환경은 Firebase용 Cloud Functions, App Engine 또는 자체 앱 서버일 수 있습니다.

    이 페이지에서 설명하는 세 가지 아키텍처 계층의 다이어그램입니다.

  2. FCM 백엔드는 (다른 기능 중에서) 메시지 요청을 수락하고, 주제를 통해 메시지 팬아웃을 수행하고, 메시지 ID와 같은 메시지 메타데이터를 생성합니다.

  3. 메시지를 대상 장치로 라우팅하고 메시지 전달을 처리하며 적절한 경우 플랫폼별 구성을 적용하는 플랫폼 수준 전송 계층입니다. 이 전송 계층에는 다음이 포함됩니다.

    • Google Play 서비스가 있는 Android 기기용 Android 전송 계층(ATL)
    • Apple 기기용 APN(Apple 푸시 알림 서비스)
    • 웹 앱용 웹 푸시 프로토콜

  4. 앱의 포그라운드/백그라운드 상태 및 관련 애플리케이션 로직에 따라 알림이 표시되거나 메시지가 처리되는 사용자 기기의 FCM SDK입니다.

수명 주기 흐름

  • FCM에서 메시지를 수신할 장치를 등록합니다 . 클라이언트 앱의 인스턴스는 메시지를 수신하도록 등록하여 앱 인스턴스를 고유하게 식별하는 등록 토큰을 얻습니다.
  • 다운스트림 메시지를 보내고 받습니다 .
    • 메세지를 보내다. 앱 서버는 클라이언트 앱에 메시지를 보냅니다.
      1. 알림 작성기 또는 신뢰할 수 있는 환경에서 메시지가 작성되고 메시지 요청이 FCM 백엔드로 전송됩니다.
      2. FCM 백엔드는 메시지 요청을 수신하고 메시지 ID 및 기타 메타데이터를 생성하여 플랫폼별 전송 계층으로 보냅니다.
      3. 장치가 온라인 상태일 때 메시지는 플랫폼별 전송 계층을 통해 장치로 전송됩니다.
      4. 장치에서 클라이언트 앱은 메시지 또는 알림을 수신합니다.