Обновлять кэшированные данные обновлениями в реальном времени - PullRequest
0 голосов
/ 10 марта 2020

В настоящее время я работаю над приложением android и использую Firestore в качестве метода хранения. В моем приложении есть функция, которая после выбора пользователем города загружает все свои магазины. Учитывая, что эти хранилища меняются не часто, я использую флаг, чтобы узнать, были ли загружены хранилища из одного города, чтобы я мог использовать кэшированные данные вместо данных сервера. Моя проблема в том, что, если информация о магазине изменяется, магазин добавляется или магазин удаляется, единственный способ, которым пользователь может получить обновленные данные, - это снова принудительно загрузить город.

I хотел бы добавить слушателя в реальном времени для города вместо принудительной загрузки. Дело в том, что я не знаю, что, например, если у меня есть все хранилища в кеше, и вдруг хранилище «ABCD» меняет и запускает мой прослушиватель моментальных снимков, он также обновит данные моего кеша? Если нет, есть ли способ добиться этого?

Спасибо!

1 Ответ

0 голосов
/ 10 марта 2020

Если у вас нет активного слушателя для документов, которые могут измениться, то в вашем локальном кэше ничего не изменится. Вы просто должны активировать этот прослушиватель, чтобы вносить изменения в документы по мере их возникновения, и это будет стоить чтения документов.

Рассмотрите возможность использования Firebase Cloud Messaging из своего бэкэнда, чтобы сообщить своему приложению, когда изменились данные, и может запрашивать эти данные по мере необходимости. Это будет достаточный объем работы для настройки.

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