Как удалить данные из базы данных Firebase Realtime, когда клиент теряет соединение - PullRequest
0 голосов
/ 05 февраля 2019

Я работаю над игрой, соединяю двух игроков с помощью базы данных Firebase в реальном времени.но мне нужен способ удалить данные игрока, если он потерял связь с Интернетом.

1 Ответ

0 голосов
/ 05 февраля 2019

Это можно обновить с помощью метода 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);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...