Очистить сохранение Firebase после выхода из системы ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Очистить сохранение Firebase после выхода из системы

Сообщение Anonymous »

  • Есть ли способ очистить данные, хранящиеся в базе данных Firebase, постоянство которой включено через setPersistenceEnabled(true)?
  • Или в конечном итоге запретить доступ для чтения к ранее сохраненные данные пользователей на устройстве?
  • И дополнительный вопрос: есть ли способ проверить, ожидают ли какие-либо данные синхронизации?
В моем приложении я хочу очистить базу данных, когда пользователь выходит из системы и подтверждает, что несинхронизированные изменения будут удалены. Это приложение будет использоваться на планшете многими людьми, и у каждого пользователя будет храниться много данных, поэтому Я хочу удалить ненужные данные, хранящиеся на устройстве, чтобы:
  • уменьшить использование памяти
  • предотвратить чтение данных пользователей посторонними лицами
Это недостаток безопасности, поскольку любой пользователь, независимо от того, вошел он в систему или нет, прочитал доступ ко всем ранее скачанным данным! К счастью, у нас там нет доступа на запись.

Я пытался очистить БД самостоятельно, как в автономном, так и в онлайн-режиме. , но данные по-прежнему сохраняются на устройстве:

// first clear all data on my own
FirebaseDatabase db = FirebaseDatabase.getInstance();
db.goOffline(); // even when I clear db in online mode data persist on mobile device
db.getReference().setValue(null);

// and then logout
FirebaseAuth.getInstance().signOut();
db.goOnline();


например, структура данных:

{
"someList": {
"userId1": {
"itemId11": {
"name": "name 11"
},
"itemId12": {
"name": "name 12"
},
...
"itemId1N": {
"name": "name 1N"
}
}
"userId2": {
"itemId21": {
"name": "name 21"
},
"itemId22": {
"name": "name 22"
},
...
"itemId2N": {
"name": "name 2N"
}
}
}
}


мои правила:

{
"rules": {
".read": "false",
".write": "false",
"someList": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/382 ... ter-logout

Вернуться в «Android»