Android [ Java, Kotlin ]

Android Firebase FCM 정리

Moonsu99 2023. 11. 15. 21:17

✉️ Firebase Cloud Messaging

###FCM을 관리자 페이지를 통해 메시지를 관리하는 절차.

N1. 관리자 페이지에서 필요한 기능 작성

  1. 메시지 생성 및 편집
    • 페이지에서 메시지를 생성하고 편집할 수 있는 기능.
    • 메시지 내용, 제목, 이미지, 링크 등을 설정.
  2. 대상 그룹 설정
    • 특정 사용자 그룹이나 디바이스 대상을 선택하여 메시지를 전송할 수 있는 기능.
  3. 메시지 예약
    • 메시지를 특정 일자와 시간에 예약하여 전송할 수 있게.
    • 동아리 지원마감일 3일 전에 메시지를 예약하는 등의 시나리오를 구현.
  4. 메시지 푸시 및 예약된 메시지 모니터링
    • 메시지를 즉시 푸시하거나 예약된 메시지의 전송 상태를 모니터링할 수 있는 대시보드.
    • 어떤 메시지가 전송되었고 얼마나 많은 사용자에게 전달되었는지 확인할 수 있게.
  5. 메시지 통계 및 분석(선택사항)
    • 메시징 효과를 추적하기 위한 통계 및 분석
    • 메시지의 열람률, 클릭률, 응답률 등을 모니터링.
  6. 메시지 템플릿 관리(선택사항)
    • 미리 정의된 메시지 템플릿을 생성하고 관리.
  7. 메시지 재발송 및 수정
    • 예약된 메시지를 재발송하거나 수정하는 기능.
    • 예를 들어, 메시지 내용을 수정하고 재발송.
  8. 오류 처리 및 알림
    • 메시지 전송 중에 발생한 오류를 처리.

references

https://firebase.google.com/docs/cloud-messaging/fcm-architecture?hl=ko

 

FCM 아키텍처 개요  |  Firebase 클라우드 메시징

Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 FCM 아키텍처 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. FCM은 메

firebase.google.com

https://firebase.google.com/docs/cloud-messaging/android/client?hl=ko

 

Android에서 Firebase 클라우드 메시징 클라이언트 앱 설정

Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 Android에서 Firebase 클라우드 메시징 클라이언트 앱 설정 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐

firebase.google.com

 

 

N2. Firebase Cloud Messaging 연결

 

N3. FCM Token 관리

  • 관리자 페이지에서는 FCM 토큰을 관리하고 사용자 그룹을 설정

문제점?

메시지를 전송할 때 해당 메시지에 이미지를 추가하려면 유료 요금을 사용해야 됨.

 

 

메시징 동작과정

설치시 앱은 고유한 FCM 토큰을 생성 →

FCM 토큰은 앱 서버로 전송되어 등록 →

관리자 페이지에서 메시지를 생성, 특정 디바이스 또는 사용자 그룹에게 전송하도록 설정. →

서버는 FCM 서버에 메시지를 보내고, FCM 서버는 해당 토큰 또는 조건에 따라 메시지를 대상 디바이스에 전송. →

FCM 서버는 메시지를 대상 디바이스로 전달 →

디바이스는 FCM SDK를 사용하여 서버에서 수신한 메시지를 처리.

 

풀어서 설명

  1. 시지 생성 및 전송 요청
    • 관리자 페이지에서 생성한 메시지 정보(제목, 내용 등), 대상 사용자 그룹 및 전송 예약 시간이 관리자 페이지에서 서버로 전송
    • 서버에서 FCM 연동
      • 서버는 Firebase Cloud Messaging (FCM)와 연동하여 FCM 서버에 메시지를 보내도록 요청.
      • 이때 FCM 서버와의 연결을 위해 서버에서 FCM SDK 사용.
  2. FCM 서버로 메시지 전달
    • 서버는 관리자 페이지에서 생성한 메시지 내용과 대상 사용자 그룹 정보를 포함하여 FCM 서버에 메시지를 보냄.
    • FCM 서버는 메시지를 저장하고 대상 사용자 그룹 또는 개별 디바이스 토큰에 전송할 예약된 시간 대기.
  3. 메시지 전송
    • 예약된 시간에 FCM 서버는 설정된 대상 그룹 또는 디바이스에 메시지를 전송.
    • 이때 FCM 서버는 각 대상 디바이스의 고유한 FCM 토큰을 사용하여 메시지를 전송.
  4. 디바이스에서 메시지 처리
    • 안드로이드 앱에서 FCM SDK를 통해 메시지를 수신하고 처리.
    • 메시지를 화면에 표시하거나, 앱 내에서 특정 작업을 수행하거나, 메시지를 무시하는 등의 작업을 수행.