当您的 Web 应用程序在后台时,Firestore 实时侦听器

Posted

技术标签:

【中文标题】当您的 Web 应用程序在后台时,Firestore 实时侦听器【英文标题】:Firestore realtime listeners when your web app is in the background 【发布时间】:2018-07-31 19:29:31 【问题描述】:

以下代码将监听器添加到 Firestore 集合,并在 Web 应用程序处于前台时发送推送通知。是否可以通过服务人员在后台执行相同的操作? 我尝试将 firebase 模块导入 service worker,但没有成功

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);
              );
        );
);

【问题讨论】:

【参考方案1】:

Service Worker 无法像这样维护与服务器的持久连接。

您可以运行Cloud Function trigger 来监听更改,当需要通知用户时,您可以发送push notification。

【讨论】:

感谢亚伯拉罕的链接,我想象着火力基地功能

以上是关于当您的 Web 应用程序在后台时,Firestore 实时侦听器的主要内容,如果未能解决你的问题,请参考以下文章

当您的应用程序在前台时,如何在 ios 10 中生成本地通知?当您的应用程序在前台时,它就不起作用

获取最后显示的视图控制器

当您的应用程序具有测试目录时,在 Django 中运行特定的测试用例

当您的实例位于 ELB 之后时,您如何为 AWS 建立维护页面?

ios后台任务定时器

iOS:当您没有权利文件时,如何为您的应用程序实施关键警报?