프로그래밍/Android

Firebase Cloud Messaging(FCM) 제대로 알고 사용하자!

freemmer 2019. 1. 23. 17:17

FCM 메세지는 아래와 같이 3가지 종류으로 나뉩니다.

알림 (Notification messages)
앱이 종료되었거나 백그라운드에 있을때 별도의 작업없이 작업표시줄 (Notification 영역)에 알림이 표시됩니다.

데이터 (Data messages)
기존의 GCM과 동일한 방식 입니다.

모두 (Messages containing both notification and data payloads)
위의 두가지 정보가 모두 들어간 경우 입니다. 이 경우 Notification messages와 비슷하게 처리됩니다.
예전 GCM방식의 경우 작업표시줄에 알림을 표시하기 위해서는 프로그래머가 직접 해당 기능을 구현해야 했습니다.
하지만, FCM으로 넘어오면서 iOS와 같이 앱에 별도 작업을 하지 않더라도 알림을 표시할 수 있게 되었습니다.
※ 위 이미지의 별표 항목 'Android O의 백그라운드 실행 제한’은 추후 다시 살펴보도록 하겠습니다.

테스트 하기!

Firebase console 에서는 항상 '알림(Notification messages) 방식'으로만 보낼 수 있습니다.
(아래와 같이 data payload를 추가할 수는 있지만, 2종류의 데이터가 모두 있을 경우 ‘알림방식’으로 동작하기 때문입니다)



출처 : Firebase console (https://console.firebase.google.com/project/[Project명]/notification?hl=ko)

1. (앱 기준으로) 빠르게 구현 및 테스트가 가능하다.
2. Push서버의 Data Payloads 변경시 유연하게 대처할 수 있다.

제가 생각하는 ‘알림 방식’에 대한 장점은 이정도로 정리 할 수 있을 것 같습니다.
아직은, 대부분의 앱과 앱 서버가 ‘알림(Notification) 방식’을 사용하고 있지만 나름대로의 장점이 있기 때문에 점차 늘어날 것으로 생각됩니다.

★ 2019.01.31 UPDATE

이번에 공부한 사항을 바탕으로 라이브러리를 만들어 github에 올렸습니다.
참고 하시면 도움이 되리라 생각됩니다.



반응형