2016-09-05 2 views
1

이 프로세스는 어떻게 호출되는지 잘 모르겠습니다. 나는이 앱의 사용자이고 내가 (또는 내가에 대해 알아야하는 상태 변경) 메시지가 있는지 알고 싶다. 이것이 최선의 방법인지 잘 모르겠지만 노력하고있다. 그것은이를 좋아합니까 : 위에서 볼 수 있듯이Firebase를 사용하는 두 사용자 간의 데이터 교환

Firebase Structure 

Users > User A > Status = "No messages" 

각 사용자는 노드 Status 있습니다. 사용자 A가 사용자 B에게 메시지를 보내면 사용자 A는 사용자 B의 Status 노드를 변경합니다.

노드 B 자신의 Status 노드를 청취하고 있던 사용자 B는 이제 새로운 내용이 있음을 알고 메시지를 읽을 수 있습니다.

Firebase 만 사용하는 것이 가능하고 안전한가요?

답변

2

너와 비슷한 시나리오가 더 자주 사용되며 채팅 응용 프로그램과 비슷합니다. 사용자 A는 사용자 B에게 메시지를 보내고 사용자 B는 Firebase에서 알림을받습니다.

위에서 설명한대로 Status 노드에 리스너를 설치하고 변경 될 때마다 사용자에게 알려야합니다. 이것은 괜찮은 것처럼 보이지만 이전에 나에게 권고 한 바에 따르면 청취자를 활성 상태로 유지하는 것은 Android에서 대응하는 활성 소켓을 갖는 경향이있어 배터리 소모가 증가합니다. 내가 당신을 제안 무엇

는 사용이 되어 있는지 확인 :

Firebase Cloud Messaging 크로스 플랫폼 애플리케이션 개발을위한 도구의 Firebase 스위트의 구성 요소입니다.

  • 보내기 무제한 업스트림/다운 스트림 메시지
  • 는 개별 장치 또는 사용자 세그먼트에 메시지를 보내기
  • 핸들 대기 및
  • 최적화 배터리 효율
  • 에 전달의 모든 측면

FCM을 사용하면 클라이언트 시스템에 새 메일 또는 기타 데이터가과 동기화 될 수 있음을 알릴 수 있습니다. 알림을 보내 사용자의 재계약 및 유지를 유도 할 수 있습니다. 인스턴트 메시징과 같은 사용 사례의 경우 메시지는 최대 4KB의 페이로드를 클라이언트 응용 프로그램으로 전송할 수 있습니다.

이 앱은 Firebase Codelab 채팅 앱으로도 유용 할 것입니다.

관련 문제