Firestore слушателей в реальном времени, когда ваше веб-приложение находится в фоновом режиме

1

приведенный ниже код добавляет слушателя в коллекцию firestore и отправляет push-уведомление, когда веб-приложение находится на переднем плане. Можно ли сделать то же самое в фоновом режиме, возможно, через сервисного работника? Я попытался импортировать модуль firebase для рабочего, но мне это не удалось

db.collection("favorites").onSnapshot(function(snapshot) {
        var response =snapshot.docChanges();
        response.forEach(function(change) {
                if (change.type === "added") {
                    var bodyPaint="New favorites: ";
                }
                if (change.type === "modified") {
                    var bodyPaint="Modified favorites: "; 
                }
                if (change.type === "removed") {
                    var bodyPaint="Removed favorites: ";
                }

            navigator.serviceWorker.ready.then(function(registration) {
                const title = 'LA BUENOS AIRES';
                const options = {
                  body: bodyPaint,
                  icon: 'images/icon.png',
                  badge: 'images/badge.png'
                };
                registration.showNotification(title, options);
              });
        });
});
Теги:
firebase
google-cloud-firestore
service-worker
progressive-web-apps

1 ответ

0
Лучший ответ

Сервисный рабочий не может поддерживать постоянное соединение с таким сервером.

Вы можете запустить триггер Cloud Function, который прослушивает изменения, и когда что-то требует уведомления пользователя, вы можете отправить push-уведомление.

  • 0
    спасибо за ссылки, Авраам, я подумал, что мне придется делать это с функциями Firebase

Ещё вопросы

Сообщество Overcoder
Наверх
Меню