[Firebase_FCM] API 테스트 툴을 통한 푸시알람 테스트 (feat. Postman)
각 앱 푸시알람을 위해 구글에서 제공하고 있는 클라우드 메세징(FCM)을 많이들 쓰실 것이라고 생각한다. 나 또한 이전 토이 프로젝트부터 실무까지 두루두루 잘 사용하고 있는 솔루션으로서 사용하고 있는데 생각보다 인터넷에 있는 자료들이 시간이 지나있고 대부분 Server Key를 발급받아서 사용하라는 방법이 나오는데 비해 기존에 발급받은 credential Json 파일을 활용하여 테스트하는 방법은 잘 드러나지 않아 있는 것 같아 포스팅해본다.
한줄로 정리하자면 Postman으로 간단하게 푸시 알람 발송 테스트해볼 수 있는 내용에 대해 적어보고자 한다.
1. 들어가기 앞서
- 기본적으로 Firebase에서 진행하다보면 발급받게 되는 Json 타입의 비공개 파일이 필요하다.
https://firebase.google.com/docs/admin/setup?hl=ko
2. Postman 테스트
1) Google Clould SDK 설치
구글에서 제공하고 있는 설치 파일을 통해 gcloud CLI를 설치한다.
https://cloud.google.com/sdk/docs/install
설치파일에서 별다른 설정없이 설치를 완료해주고 터미널을 열어 하기 명령어를 입력, 로그인을 진행한다.
gcloud auth login
명령어 입력 시 별도로 인터넷 창이 뜨며 쉽게 구글 아이디를 활용한 로그인을 할 수 있게 도와준다.
로그인 성공 이후 --key-file='기존 발급받은 비대칭 키 JSON파일 절대경로'를 넣어 하기와 같이 명령어를 수행한다.
gcloud auth activate-service-account --key-file=/여기가/경로입니까/비밀키입니다.json
별다른 메세지가 뜨지 않으면 성공한 것으로 아래 명령어를 넣어 발급받은 토큰을 출력해준다.
gcloud auth print-access-token
이후 화면에 나오는 토큰을 확인하고 복사를 해놓는다.
2) Postman에서 테스트하기
푸시알람 테스트를 하기 위한 경로는 아래와 같다.
https://fcm.googleapis.com/v1/projects/프로젝트명/messages:send
앞뒤는 똑같이 하고 중간 '프로젝트명'에 Firebase 프로젝트 명칭을 넣어주면 된다.
Firebase 콘솔에서 확인하던가 아니면 Json 키 파일 내 'project_id'를 확인하면 된다.
Request Header에 아래와 같이 각각 넣어준다.
Key: Content-Type, Value: application/json
Key: Authorization, Value: Bearer googleCli로 발급받은 토큰 (Bearer 뒤 한칸 띄고 토큰 넣어주는 것이 중요!!)
Request Body 예시는 다음과 같다.
{
"message": {
"token": "TOKEN", // 푸시알람 대상이 되는 디바이스의 푸시 토큰
"notification": { // iOS 테스트용 => notification으로 발송
"title": "푸시알람 타이틀",
"body": "푸시알람입니다. 당신은 성공했습니다."
},
"data": { // Android 테스트용 => data로 발송
"key1": "푸시알람 타이틀",
"key2": "푸시알람입니다. 당신은 성공했습니다."
}
}
}
token에는 각 디바이스별로 발급받은 푸시 토큰을 넣어주고 하위 notification, data 값은 OS별로 추리고 넣어서 테스트하면 된다.
위 내용을 잘 맞춰서 넣은 뒤 호출을 하고 정상적으로 요청한 경우 { name : .... } 과 같이 리스폰스를 받게 된다.
비정상적으로 요청된 경우 이에 맞춰 Error Response를 받게되니 메세지 리딩 후 수정하면 될 것 같다.
끝!