파이어베이스 푸시 알림

황희윤·2022년 9월 4일
0
post-custom-banner

파이어베이스 푸시 알림(FCM)

FCM : Firebase Cloud Messaging

용어

  • 앱 서버

    • 클라이언트 앱에 전달되는 토큰을 관리하고 클라이언트 앱에 메세지를 전달할 수 있도록 FCM에 메세지를 전달한다.
  • 토큰

    • 클라이언트 앱을 구분하기 위한 용도
    • FCM에서 발급해 준다.
  • API Key(Server Key)

    • HTTP 메세지를 보낼 때 POST의 헤더에 포함된다.
    • 클라이언트 앱의 코드에 API 키를 포함하지 않아야 한다.
    • 앱 서버에 저장되어 관리된다.
  • Sender ID

    • FCM 앱 등록으로 발급된 google-services.json 파일의 project_number에 해당되는 값
    • 클라이언트 앱에서 Registration Token을 발급 받기 위해 FCM에 전달하는 값으로 사용된다.
  • Application ID

    • 안드로이드에서 Package Name을 의미
  • Registration Token

    • FCM에서 발급 받은 토큰
    • 앱 서버에 전달하여 클라이언트 앱에 메세지 알림을 전송할 때 사용

특징

  1. 무료
  2. 앱 서버에서 FCM에 메세지를 전달하면 FCM에서 클라이언트 앱으로 서버에서 전달한 메세지를 보낸다.
  3. FCM의 HTTP는 단방향(Downstream)으로 서버에서 클라이언트 앱으로만 메세지를 내려보낸다. 동기적 방식으로 진행된다.

동작 원리

  1. 클라이언트 앱에서 FCM에 Sender ID(Project Number)을 이용하여 등록을 요청한다.

  2. FCM은 클라이언트 앱에서 전달받은 Sender ID(Project Number)를 확인하고 토큰을 발급한다.

  3. 클라이언트 앱은 FCM으로부터 받은 토큰을 앱 서버에 전달한다.

  4. 앱 서버는 클라이언트 앱에서 전달 받은 토큰을 저장한다.

  5. 앱 서버는 토큰, API 키, 전송할 메세지를 이용하여 FCM에 메세지를 전송한다.

  6. FCM은 앱 서버로부터 전달 받은 메세지를 해당 클라이언트 앱에 메세지를 전송한다.

실습

  1. 파이어베이스 콘솔에서 Cloud Messaging으로 가기
  2. 테스트 메세지 전송 (기기의 토큰을 사용하면 해당 기기에서만 메세지를 받을 수 있다)
  3. 타겟 : 파이어베이스에 등록한 앱을 선택
  4. 예약 : 시간도 자유롭게 예약할 수 있다
  5. 전환 이벤트(선택사항) : 사용자가 알림을 클릭했을 때 발생하는 이벤트로, 애널리틱스의 이벤트와 연동해 분석 자료로 활용할 수 있다.
profile
HeeYun's programming study
post-custom-banner

0개의 댓글