마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

보통 fcm 푸시서버구현할때

0 추천
보통 fcm 푸시서버구현할때

서버에 푸시된 메세지를 저장해야되나요?

푸시한메세지가 제대로 전달되었는지 확인할수있는지도 궁금합니다

서버에 푸시메세지를 저장하지않았을경우

나쁜상황이 생길수있나요?

조언부탁드립니다
잡부 (5,060 포인트) 님이 2021년 1월 20일 질문

1개의 답변

+1 추천
 
채택된 답변
기획적으로는 fcm server 일반적으로 이렇게 개발하니다.

서버에서 실시간 혹은 스케듈러에 의해 푸시메시지를 사용자에게 보냅니다.
   - 이때 보통 푸시 메시지를 DB에 보관하고 보냅니다. (별도 조회 화면을 통해서 볼 수 있게 하죠)
   - 푸시 전송

앱에서 노티가 뜨면, 간단하게 보여주는 화면이 나오고, 터치했을 때, 원하는 화면으로 이동시키죠.

서버에서 fcm 서버로 푸시를 보내면,
 보낸 메시지에 대한 처리 결과를 callback으로 받을 수 있습니다.
 callback을 보면, 푸시가 어떻게 되었는지를 알 수 있습니다만, 이 정보를 바로 받지 못할 수 있습니다.
 fcm에서도 여러번 전달 시도를 하는 경우가 있습니다.
 페이스북같은 경우는 사용자가 물리적인 디바이스 여러개를 허용하기 때문에,
 푸시 수신도 디바이스별로 다 관리해야겠죠.

푸시는 결제나 본인 인증 등 중요 메시지에는 안쓰고 SMS를 사용하는 경우도 많습니다.

중요한 메시지의 경우, 복잡하게는
푸시를 보내고 10분안에 터치를 안하면,
카톡 메시지나 SMS를 보내는 식으로 하는 경우도 있습니다.

It depends on your service definition 입니다.
Will Kim (43,170 포인트) 님이 2021년 1월 20일 답변
잡부님이 2021년 1월 20일 채택됨
답변감사합니다
서버에서 메세지를보관하고
클라이언트 그러니까 안드로이드폰에서도
메세지를 보관해야될까요?
서버에서는 언제까지 메세지를 보관하는건가요?

클라이언트폰에서는 앱실행시 주고받은메세지를 클라이언트에 보관하고있다가
보여주는건지
아님 서버에서 로딩해서 보여주는건지 궁금합니다
안드로이드폰에 메시지를 굳이 저장하지는 않습니다.
그럴 필요가 있을까요?
서버에서 보낸다고 해도 클라가 못받는 경우도 있습니다.
디버깅을 하려고 gson 파일로 보관하는 것은 나쁘지 않아 보입니다만
사용에서는 삭제하는게 맞을 것 같고요.

보통 과거 메시지는 서버에서 보내줍니다.
서버가 한달치 정도를 보관하고 있으면 최근 한달치만 내려주겠죠.

그러나 예를들어
Hotels.com 같은 앱은 해외에서나 비행기 안에서
인터넷이 안되는 상태에서 호텔 예약정보나 메시지를 봐야 하므로
오프라인에서도 보여줍니다.
그런 필요성이 있다면 해줄 수도 있죠.
답변감사합니다
좋은하루되십시요
...