기존 파이어베이스 콘솔에서 알림을 생성하던 방식에서 회사 시스템을 통해서 예약 등의 파이어베이스에서 지원하지 않는 기능들을 추가하려고 한다. 이 작업을 위해 Firebase Cloud Messaging(FCM)의 API를 확인하는 검토작업을 하였다.
테스트 순서
- Postman을 통하여 FCM API를 호출하여 json을 전달한다.
- 기 개발된 앱에서 알림을 확인 한다.
위에 언급했듯이 이미 회사에서는 FCM 콘솔을 통하여 알림을 사용하고 있다. FCM은 다음과 같이 세 가지 방식으로 메시지를 전달 할 수 있다.
- Device Token(App이 FCM에 받은 Token)
- 주제 (Topic)
- 전체 (플랫폼[ios, android]은 구분한다.)
이 중, 주제를 가지고 주로 사용한다. 앱에서 서버와 미리 약속한 주제를 구독(Subscribe)하면 서버가 그 주제를 담아서 FCM에 전달하고 FCM이 broadcast로 메시지를 쏘면 각 디바이스가 주제를 비교하여 확인하는 식이다. 주제를 사용하면 국가별 작업을 할 때, 실사용자가 아닌 테스터들에게만 전송할 때처럼 특정 그룹을 대상으로 보낼 수 있다.
포스트맨 세팅
FCM에 알림을 생성하는 API는 다음과 같다.
- Uri : https://fcm.googleapis.com/fcm/send
- HTTP Method : POST
json 전달을 위한 Header는 아래와 같다. 상단의 Uri와 HTTP Method도 확인하시길 바란다.
여기서 Authorization의 키 값은
- console.cloud.google.com/apis 로 이동
- 왼쪽 탭에서 “사용자 인증 정보”를 클릭
- “API 키” 중 Server Key의 키 복사 을 통하여 얻는다.
알림 기능을 원하면 아래와 같이 Body를 작성한다.
{
"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"
}
}
'프로그래밍 > Android' 카테고리의 다른 글
Android Hash 키 가져오기 (0) | 2018.11.20 |
---|---|
Android Device ID 가져오기 (0) | 2017.12.12 |
Android Device Mac Address 가져오기 (0) | 2017.12.12 |
Bluetooth 설정 화면 창 바로가기 (0) | 2017.06.13 |
Android 공유하기 (ACTION_SEND) (0) | 2017.04.05 |