Как узнать, какие автономные данные были синхронизированы с базой данных реального времени Firebase - PullRequest
0 голосов
/ 20 апреля 2020

Я пишу приложение для чата с помощью firebase. Вот у меня проблема: если устройство находится в автономном режиме, данные сохраняются в кеше, и когда устройство возвращается в оперативный режим, кэш будет синхронизирован, но как узнать, какой данные синхронизируются, а какие нет (у пользователя может быть плохое inte rnet соединение, поэтому синхронизация может быть отложена). Как уведомить пользователя о том, что сообщение было отправлено или отправлено, и что нам также нужно управлять огромным списком сообщений Спасибо !

1 Ответ

0 голосов
/ 20 апреля 2020

Существует два способа:

  1. Использование прослушивателя завершения, как показано здесь: Firebase Android - как определить, был ли синхронизирован узел Этот подход работает пока приложение остается активным. Слушатель завершения не выдерживает перезапуска приложения, поэтому он не будет работать при перезапуске приложения.

  2. Использование значения дозорного. Записи в базу данных с одного клиента гарантированно будут выполняться по порядку. Используя эти знания, вы можете написать значение часового (думаю: пустышка) при перезапуске приложения или восстановлении соединения и определить, когда оно написано. После подтверждения значения часового значения вы можете быть уверены, что все более старые сообщения также были обработаны сервером.

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...