У меня есть приложение для Android, которое использует Firebase для общего чата.Пользователи вводят свой ник и начинают общаться.
Нет проблем с реализацией, мое приложение работает хорошо.Но проблема в использовании данных.Использование данных было слишком высоким из-за неправильной реализации.
в версии приложения 14
Я извлекал все данные в чате, а затем отображал последние 100. Эта ситуация приводит к высокому использованию в базе данных firebase.Для пользователей 2К ежедневно загружалось 1-2 ГБ.На самом деле это должно быть меньше.
Затем неделю назад я выучил limitToLast (x) функцию.
https://firebase.google.com/docs/database/admin/retrieve-data
Тогда ярешил обновить мое приложение.
в версии приложения 15
Я добавил функцию limitToLast (100) в необходимые строки в моем коде.Теперь нет никаких проблем для моих пользователей 15-вер.Ежедневное использование данных упало до 100 МБ в день.
В последнее время мое использование данных возросло до 300-400 МБ, ежедневно.
Это потому, что вы знаете, что существуют сотни сайтов apk.
1- Эти сайты apk не всегда содержат последнюю версию.
2- Некоторые пользователи не обновляют мое приложение.
В результате есть некоторые пользователи, которые используют мое приложение ниже 15 версии.Эти пользователи вызывают проблемы с использованием данных, потому что в версии 14 код был проблематичным и вызывал high проблему с использованием данных.
Как я могу заблокировать этих пользователей в firebase с правилами?
сейчас это так:
{
"rules": {
".read": true,
".write": true
}
}
Мне нужен код, подобный следующему:
{
"rules": {
".read": "if app version is greater than 14",
".write": "if app version is greater than 14"
}
}
Могу ли я сделать это с правилами?Как я могу сделать?Если нет, есть ли другие способы заблокировать пользователей, которые используют младшие версии.