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

파이어베이스 리스너 ChildEventListener를 서비스에서 실행

0 추천
죽지 않는 서비스를 실행하여 파이어베이스 서버에서 데이터가 전송되면 알람을 띄우는 프로그래밍을 하는데요 문제는 앱이 실행중인 상태에서는 서비스가 잘 작동하지만 앱을 종료하고 서비스만 남아있는 상태에서는 파이어베이스 서버에서 데이터를 전송 받지 못한다는 것이 문제입니다. 다시 앱을 실행시키면 쌓여있던 데이터가 정상적으로 수신되는데 앱이 종료된 상태에서 데이터를 수신할 수 있는 방법이 있을 까요?
안드린이 (2,520 포인트) 님이 2019년 9월 3일 질문

1개의 답변

0 추천
 
채택된 답변

https://stackoverflow.com/questions/50481821/using-a-listener-after-an-android-application-is-closed

백그라운드 제한때문에 안되나 봅니다. 

다시 앱을 실행시킬때 쌓여있던 데이터가 정상적으로 수신되는 이유는 Firebase의 데이터 리스너들은 첫 트리거시 참조된 노드의 모든 데이터를 가져오기 때문에 그런것이지, 서비스가 실행되는 동안 받아져 있던 내용이 아닐거에요. 서버내의 데이터 변화가 있을때 알람을 띄우는 프로그램은 Firebase Functions 이용하시면 원하시는걸 만드실 수 있어요. Firebase클라우드에서 DB변화를 캐치할 수 있거든요.  Firebase Functions + FCM 쓰시면 만들려고 하시는 기능을 구현할 수 있습니다.

익명사용자 님이 2019년 9월 5일 답변
안드린이님이 2019년 9월 5일 채택됨
감사합니다!!! 덕분에 지식이 늘었네요ㅎㅎ
...