首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Firebase实时数据库在匿名等方面工作,而不是在Firebase Cloud消息传递中工作

为什么Firebase实时数据库在匿名等方面工作,而不是在Firebase Cloud消息传递中工作
EN

Stack Overflow用户
提问于 2018-12-02 16:08:21
回答 1查看 525关注 0票数 0

我刚刚开始使用Firebase生态系统,并在提交GCloud数据库实现(Datastore与Firestore)之前进行了一些调查。我的目标客户端是Web/浏览器,我的后端服务将在AppEngine中。

修改云消息快速启动示例后,FCM似乎无法在几种情况下工作(匿名模式,Safari,如果权限被阻止)。但是,使用实时数据库更新的友好聊天演示似乎在这些场景中工作。

有人能解释原因吗?

我的目标是订阅事件,以便客户机在不使用轮询的情况下更新状态等。仅仅为了绕过通知权限要求,把它们放到消防站似乎太过分了。任何洞察力都是值得赞赏的。这些事件可以从几个不同的后端服务发送,而不完全绑定到db记录。

对于我想要做的事,更新,我能够简单地使用FCM,并且没有针对特定设备的需求,这些设备都值得使用FCM。自从我发布了这个问题之后,Firestore就脱离了测试版,并且可以很好地实时订阅更新本地状态的查询,这最终是我需要做的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-02 19:16:59

FCM客户端的工作承诺是,它可以识别您的浏览器,即使页面没有打开。因此,它需要能够持久地识别浏览器。它使用了一个实例令牌,我假设它在浏览器的本地存储中仍然存在。而且,由于一个匿名窗口有它自己的本地存储,所以它成为一个单独的实例ID。

Firebase实时数据库本身不保存任何有关实例的信息。相反,在初始化FirebaseApp实例时传递所有必要的信息,然后获得一个DatabaseReference。因为匿名窗口运行相同的代码,所以它访问数据库中的相同信息,从而看到相同的结果。

请注意,如果将Firebase身份验证与实时数据库结合使用,则情况将有所不同。Auth将用户令牌持久化到本地存储,这样就不会与隐匿窗口共享。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53582082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档