본문 바로가기

Android

cURL을 이용한 FCM 클라우드 메시지 전송

이전 글에서는 FCM 클라우드 메시지를 어떻게 구성해야 하는지에 대해서 다뤄봤습니다.

이를 정리한 표를 다시 한번 보면 다음과 같습니다.



HTTP 메시지를 보내는 방법 중 상당히 원시적인 cURL을 이용한 방법으로 클라우드 메시지를 보내 보도록 하겠습니다.


cURL (https://curl.haxx.se/)은 HTTP 뿐만 아니라 Telnet, SMTP, POP3, LDAP 등등 다양한 프로토콜을 지원하는 프로그램입니다. 웬만한 Unix 계열 운영체제에는 기본적으로 설치되어 있으나 윈도우에서는 아직까지(?) 바이너리를 직접 다운로드 받을 수 없고 Cygwin terminal에서 cURL을 사용하는 것을 권장하고 있으니 여기서도 그 방법으로 해보도록 하겠습니다.


혹시 Cygwin의 설치가 필요하다면 Cygwin 설치 및 설정 (http://zeany.net/15) 를 참조하시기 바랍니다.

그리고 설치할 때 curl을 검색하여 추가로 설치하지 않았다면 Cygwin에 신규 패키지 설치 (http://zeany.net/29)를 참조하세요. 이 글에서는 vim을 설치하는 것을 예제로 했으니 여기서 curl을 추가하는 화면만 있으면 될 것 같습니다.



설치가 완료되었으면 curl --version 이나 curl --help로 제대로 설치가 되었는지와 어떤 옵션들이 있는지 살펴봅시다.

curl은 워낙 지원하는 프로토콜이 많아서 옵션들이 대부분 중복으로 사용되게 됩니다.

자세한 매뉴얼은 https://curl.haxx.se/docs/manpage.html 에 나와있습니다.



cURL을 이용하여 위의 메시지를 보내기 위해 필요한 옵션은 다음과 같습니다.



이를 바탕으로 명령을 만들어보면 다음과 같습니다.


curl -X POST --header "Authorization: key=your key" --header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d '{"to" : "your token",  "priority" : "high",  "notification" : {    "body" : "Background Message",    "title" : "BG Title"  },  "data" : {    "title" : "FG Title",    "message" : "Foreground Message"  }}'


정상적인 메시지라면 다음처럼 응답 메시지가 오게 됩니다.



만약 잘못된 옵션(여기서는 서버키)을 주게 되면 에러가 HTTP Response로 오게 됩니다.



이상으로 cURL을 이용한 FCM 클라우드 메시지 보내기에 대한 글을 마칩니다.


예전에는 별 불편함없이 cURL을 사용했던 것 같은데, 지금은 좀 더 쉽고 편리하게 보낼 수 있는 방법들이 있습니다.

다음 글에서는 Postman이라는 크롬 앱을 이용해 클라우드 메시지를 전송해 보도록 하겠습니다.