Это можно обновить с помощью метода OnDisconnect.
Этот оригинальный ответ от Фрэнка первоначально описывает более подробную информацию о методе OnDisconnect.
Подробнее оИнтерфейс здесь .
Вы можете настроить «подключенное присутствие» с помощью этого примера Firebase , который использует базы данных реального времени и облачные функции с OnDisconnect для отображения статуса пользователя.Вытащил из примера:
var userStatusDatabaseRef = firebase.database().ref('/status/' + uid);
firebase.database().ref('.info/connected').on('value', function(snapshot) {
// If we're not currently connected, don't do anything.
if (snapshot.val() == false) {
return;
};
// If we are currently connected, then use the 'onDisconnect()'
// method to add a set which will only trigger once this
// client has disconnected by closing the app,
// losing internet, or any other means.
userStatusDatabaseRef.onDisconnect().set(isOfflineForDatabase).then(function() {
// The promise returned from .onDisconnect().set() will
// resolve as soon as the server acknowledges the onDisconnect()
// request, NOT once we've actually disconnected:
// https://firebase.google.com/docs/reference/js/firebase.database.OnDisconnect
// We can now safely set ourselves as 'online' knowing that the
// server will mark us as offline once we lose connection.
userStatusDatabaseRef.set(isOnlineForDatabase);
});
});