본문 바로가기

프로그래밍/Android

Postman을 이용하여 Firebase Notification 전송하기

기존 파이어베이스 콘솔에서 알림을 생성하던 방식에서 회사 시스템을 통해서 예약 등의 파이어베이스에서 지원하지 않는 기능들을 추가하려고 한다. 이 작업을 위해 Firebase Cloud Messaging(FCM)의 API를 확인하는 검토작업을 하였다.

테스트 순서

  1. Postman을 통하여 FCM API를 호출하여 json을 전달한다.
  2. 기 개발된 앱에서 알림을 확인 한다.

위에 언급했듯이 이미 회사에서는 FCM 콘솔을 통하여 알림을 사용하고 있다. FCM은 다음과 같이 세 가지 방식으로 메시지를 전달 할 수 있다.

  • Device Token(App이 FCM에 받은 Token)
  • 주제 (Topic)
  • 전체 (플랫폼[ios, android]은 구분한다.)

이 중, 주제를 가지고 주로 사용한다. 앱에서 서버와 미리 약속한 주제를 구독(Subscribe)하면 서버가 그 주제를 담아서 FCM에 전달하고 FCM이 broadcast로 메시지를 쏘면 각 디바이스가 주제를 비교하여 확인하는 식이다. 주제를 사용하면 국가별 작업을 할 때, 실사용자가 아닌 테스터들에게만 전송할 때처럼 특정 그룹을 대상으로 보낼 수 있다.

포스트맨 세팅

FCM에 알림을 생성하는 API는 다음과 같다.

json 전달을 위한 Header는 아래와 같다. 상단의 Uri와 HTTP Method도 확인하시길 바란다.

2018-03-30 6 53 16

여기서 Authorization의 키 값은

  1. console.cloud.google.com/apis 로 이동
  2. 왼쪽 탭에서 “사용자 인증 정보”를 클릭
  3. “API 키” 중 Server Key의 키 복사 을 통하여 얻는다.


알림 기능을 원하면 아래와 같이 Body를 작성한다.

2018-03-30 6 53 57

{
 "to" : "FCM 기기 puch token 값",
 "collapse_key" : "type_a",
 "notification" : {
     "body" : "Body of Your Notification",
     "title": "Title of Your Notification"
 },
 "data" : {
     "body" : "Body of Your Notification in Data",
     "title": "Title of Your Notification in Title"
 }
}