【问题标题】:Real-time communication without requiring a server in-between实时通信,无需中间的服务器
【发布时间】:2016-08-31 17:09:13
【问题描述】:

所以我正在尝试构建一个使用 firebase 实时数据库的应用程序。数据库有这个简洁的特性,可以监听特定子节点的变化。据我所知,这只有在应用程序处于前台且未关闭时才有效,对吧?

问题是,如果应用程序在后台,我想为特定用户触发通知。这不适用于数据库,因为应用程序已关闭。显然,在这种情况下,我需要使用云消息来唤醒设备并显示通知。我可以通过 node.js 监听我的实时数据库中的变化,然后向用户发送推送通知 => 这需要中间的服务器,我尽量避免。

有什么办法可以实现吗,

  • 当应用程序在前台时 => 通过实时触发更改 数据库
  • 当应用程序在后台时 => 通过云显示通知 消息传递

我自己没有服务器,只使用firebase technologyHosting 仅提供静态文件,storage (嗯)仅用于存储图像等文件。

【问题讨论】:

  • 实际上,当应用程序在后台时,侦听器仍然处于活动状态。在安卓上。在 iOS 上是没有办法的。 Firebase 团队承诺会在 DB 事件上发送推送消息,但我对此并不坚信
  • 当应用程序在后台时=当活动仍在内存中时?但是,如果内存被擦除了怎么办?那样他们就不行了,对吧?
  • 创建服务,并在其中设置监听器。在 SO 上有几种解决方案,如何使服务不可破坏
  • @Chris:你的目标是什么平台?因为正如 Dima 所解释的:iOS 和 Android 之间的答案大不相同。
  • Android 优先,但 iOS 计划在未来。

标签: firebase firebase-realtime-database firebase-cloud-messaging


【解决方案1】:

正如我在 cmets 中指出的那样,@Frank 同意我的观点,目前您唯一可以在没有服务器的情况下做的事情 - 将数据库侦听器放入服务中,但这可能会导致一些电池消耗。在 iOS 上,您根本没有任何选择。

我 5 天前向 Firebase 发送了功能请求,答案是

嗨,迪玛,

感谢您与我们联系。

我们清楚地知道,很多用户,比如您自己,都希望 此功能。我们正在探索潜在的解决方案,但我无法分享 目前的任何细节或时间表。我们会保留您的反馈 考虑向前发展。

请留意我们的发行说明以获取任何进一步的更新。

问候,

马赛尔

2016 年 8 月 27 日

【讨论】:

  • 您有指向您的功能请求的链接?
  • 不,我是通过电子邮件请求的。没有其他办法了。但是你可以发送相同的请求,也许他们会更加关注这一点。我请求“在 DB 事件上推送消息”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-04
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-26
  • 2020-08-08
相关资源
最近更新 更多