[Spring Boot] FCM 구현하기 - 1

ZEDY·2023년 12월 29일
1

[백엔드] Spring Boot

목록 보기
26/27

어플에는 다양한 기능이 있다. 그 중에서도 어플 활성화를 위한 필수요소인 알림을 FCM으로 구현하려고 한다.

FCM 아키텍처 개요

FCM 이란?

Firebase Cloud Messaging(Firebase 클라우드 메시징)은 Google의 푸시 알림 서비스입니다. 이 서비스를 사용하면 모바일 앱, 웹 앱 또는 서버에서 사용자에게 푸시 알림을 보낼 수 있습니다.

구성 요소

  • 메시지 작성
  • 메시지 전송
  • 메시지 수신

주요 기능

  1. 푸시 알림 전송 : 서버에서 모바일 앱 또는 웹 앱으로 메시지를 보낼 수 있습니다. 이것은 새로운 업데이트, 특별 이벤트 알림 등을 포함할 수 있습니다.

  2. 기기 그룹화 : 앱의 기기를 그룹으로 묶어 특정 세그먼트에 메시지를 보낼 수 있습니다.

  3. 주제 구독 : 사용자가 특정 주제에 구독하면 해당 주제에 대한 알림을 받을 수 있습니다. 이것은 관심사에 따라 사용자에게 맞춤형 알림을 보내는 데 사용될 수 있습니다.

  4. 알림 메시지와 데이터 메시지 : FCM은 알림 메시지와 데이터 메시지를 보낼 수 있습니다. 알림 메시지는 사용자에게 보여지는 알림을 트리거하며, 데이터 메시지는 앱의 백그라운드 동작을 트리거할 수 있습니다.

  5. 다양한 플랫폼 지원 : Android, iOS, 웹 앱 등 다양한 플랫폼에서 FCM을 사용할 수 있습니다.

여기서 어플 내의 푸시 알림을 구현하려고 한다.

아키텍처 레이어의 다이어그램

업로드중..
출처 : 구글공식문서 : FCM

여기서
FCM 백엔드: 메시지 요청을 수락하는 등 여러 기능을 수행하는 FCM 백엔드는 주제를 통해 메시지 팬아웃을 수행하고 메시지 ID와 같은 메시지 메타데이터를 생성합니다.

플랫폼

Google Play 서비스를 사용하는 Android 기기용 Android 전송 레이어(ATL)
Apple 기기용 Apple 푸시 알림 서비스(APN)
웹 앱용 웹 푸시 프로토콜
-> Apple이 정말 복잡하다고 한다.

수명 주기 흐름

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

그렇다네요...

이제 해보자 !

profile
Spring Boot 백엔드 주니어 개발자

0개의 댓글