Я использую клиентскую библиотеку Firebase Firestore с поддержкой кэша в проекте Android с .setPersistenceEnabled(true)
.Firebase хорошо синхронизируется и получает данные с сервера, если я изменяю базу данных Firestore напрямую из кода Android.
Однако, если я изменяю данные документов удаленно с помощью облачных функций или с помощью Firestore Admin SDK, клиентне получает уведомления об аннулировании кэша и извлекает данные из кэша, даже если он устарел.Я предполагаю, что у Firebase есть некоторая логика, которая помечает документы, синхронизированы они или нет.
Поддерживает ли Firebase пометить определенный документ как «устаревший», что заставляет клиентов автоматически аннулировать свой кэш?
Если это не так, я должен уведомить своих клиентов о том, что их кэш должен быть аннулирован вручную через .clearPersistence()
.Я рассмотрел следующие, но не очень удобные варианты:
- Отправка push-уведомлений с помощью FCM
- Использование параметра Firebase Remote Config
Есть ли какие-либодругие, более эффективные и удобные варианты для реализации той же функциональности?