sysout-achieve / TIL_repo

Today I Learned
0 stars 0 forks source link

2019/05/14 push 처리(background 이슈) #92

Open sysout-achieve opened 5 years ago

sysout-achieve commented 5 years ago

FCM으로 푸쉬 전송 시, push가 Foreground에서는 정상작동하지만 Background에서 onMessageReceived()로 들어오지 않는 이슈가 발생할 수 있다.

push를 통해 어떤 데이터를 수신하여 어떤 액션을 적용하고자 할 때, onMessageReceived()로 들어오지 않는 데이터는 개발자가 의도한 액션을 구현하기 어렵다.

서버에서 notification키로 설정된 데이터가 있다면 그 push는 onMessageReceived()를 호출하지 않는다.

따라서, 서버에서 jsonbody에 "notification"을 키로 넣지 않고 원하는 데이터를 json으로 변환하여 device에 전송하면 쉽게 처리할 수 있다.


key 가 "notification" 으로 오면 FCM이 클라이언트 앱을 대신하여 최종 사용자 기기에 자동으로 메시지를 표시한다. 알림에는 사용자에게 표시되는 키 모음이 사전 정의되어 있다.

key "data" 클라이언트 앱이 데이터 메시지 처리를 담당한다. 데이터 메시지에는 맞춤 키-값 쌍만 있다.

참고 : https://m.blog.naver.com/PostView.nhn?blogId=thdeodls85&logNo=220865980006&proxyReferer=https%3A%2F%2Fwww.google.com%2F