Я пытаюсь внедрить систему присутствия, я следовал за документацией для нее. он работает, так как он обновляет базы данных как моего пожарного, так и реального времени. Тем не менее, когда я закрываю приложение, база данных в реальном времени обновляется, а пожарная - нет. ниже приведен пример кода, который я имею в своей облачной функции, которая, как я предполагаю, выполняет действие.
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const firestore = admin.firestore();
exports.onUserStatusChanged = functions.database.ref('/status/{uid}').onUpdate(
async (change, context) => {
const eventStatus = change.after.val();
const userStatusFirestoreRef = firestore.doc(`users/${context.params.uid}`);
const statusSnapshot = await change.after.ref.once('value');
const status = statusSnapshot.val();
console.log(status, eventStatus);
if (status.last_changed > eventStatus.last_changed) {
return null;
}
return userStatusFirestoreRef.set({
online: false,
last_changed: firestore.FieldValue.serverTimestamp(),
}, { merge: true });
});