2

我发现了两种可能的方法在火力地堡实时数据库(在聊天应用为例)的一些变化后交付通知火力地堡发送通知在实时数据库的变化

  • 有可能使用Firebase的云端功能,如in this blog post所述。

  • 我也发现here另一个更简单的方法,只使用安卓服务,它侦听数据库中的更改。

我想知道什么是利弊利弊两种方法的努力实现其中之一之前和之后的第二个看起来比第一个要简单得多。

+1

转到云功能的火力地堡。在客户端,更少的代码和更少的电池使用(拥有数据库更改的主动监听器会导致电池消耗,这应该避免)。 –

回答

4

https://www.codementor.io/sundayakinsete/firebase-real-time-notifications-app-to-app-opkwbo6ba描述的android service解决方案有很大的局限性:

  1. 当应用程序没有运行(请记住,当用户将您的应用程序在后台系统可以决定将其终止它不工作免费设备内存)
  2. 它使用额外的电池,内存和网络数据,以保持服务主动侦听远程数据库改变
  3. 每个设备与应用程序的运行,即使在后台,将朝着10万个的并发连接的数量限制到数据库SE。
  4. 不会在iOS

对对方的工作,如果你使用Firebase Cloud Messaging(通过云功能或自定义服务器):

  1. 可以收到通知,即使应用程序被关闭
  2. 您不会消耗额外的电池或CPU
  3. 您可以对实际在前台使用应用程序的用户使用100,000个并发连接的数据库限制。
  4. 它适用于iOS和Web