Как удалить не свои маркера из firebase?

В базу данных firebase приходят маркера от зарегистрированных пользователей и через определенное время я их удаляю:

DatabaseReference markerRef = FirebaseDatabase.getInstance().getReference().child("Markers").child("Markers");
markerRef.child(firebaseAuth.getUid()).orderByChild("timeStamp").endAt(cutoff).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot data : dataSnapshot.getChildren()) {
data.getRef().removeValue();
}}
    
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});

И они удаляются когда аккаунт в сети, а когда пользователь удаляет приложение или выходит из аккаунта, тогда маркера остаются в базе, как это исправить???


Ответы (1 шт):

Автор решения: Maks

Можно например добавить переменную lastseen которая будет содержать дату последнего входа. Потом надо проверять все аккаунты на эту переменную и удалять аккаунты которые не соответствуют требованиям.

Погуглите AdminSDK и Firebase CloudFunctions

Код для удаления аккаунта по uid с помощью AdminSDK:

 admin.auth().deleteUser(uid)
 .then(function() {
 console.log("Successfully deleted user");
  })
  .catch(function(error) {
console.log("Error deleting user:", error);
});
→ Ссылка