처음에 notification 으로 쓰다가
푸시 메시지 백엔드일때 처리를 고민하다가 찾아보게 되었다.
1.Notification
2.Data
3.Notification + Data
푸쉬의 종류에는 3가지로 나눌 수 있다. Notification / Data / Notification+Data 3가지 푸쉬를 나눠서 어떻게 처리되는지 보자.
알림( Notification 타입)
- 포그라운드 : onMessageReceived() 메소드를 타며 커스텀마이징 한대로 작동한다.
- 백그라운드 : Notificaition의 title과 body 항목대로 푸쉬를 자동으로 만들며 터치시 기본적으로 앱을 구동시킨다.
데이터 (Data 타입)
- 포그라운드 : onMessageReceived() 메소드를 타며 커스텀마이징 한대로 작동한다.
- 백그라운드 : onMessageReceived() 메소드를 타며 커스텀마이징 한대로 작동한다.
모두 (Notification + Data 타입)
- 포그라운드 : onMessageReceived() 메소드를 타며 커스텀마이징 한대로 작동한다.
- 백그라운드 : Notificaition의 title과 body 항목대로 푸쉬를 자동으로 만들며 터치시 기본적으로 앱을 구동시키며 data 항목은 시작 Activity에 서 extras intent로 extras.getString("key")으로 추출하여 사용할 수 있다.
포그라운드와 백그라운드 모두 동일하게 onMessageReceived를 통해 개발자가 원하는대로 컨트롤 하려면 Data타입의 푸쉬를 사용하는것이 좋습니다.
저는 이렇게 Data로 사용했습니다.
출처
https://firebase.google.com/docs/cloud-messaging/concept-options?hl=ko
https://firebase.google.com/docs/cloud-messaging/android/receive?hl=ko
https://justbobby.tistory.com/3