我发现了两种在Firebase实时数据库发生一些更改后(例如在聊天应用程序中)传递通知的可能方法:
可以使用Cloud Functions for Firebase,如本博客文章中所述。
我还在这里找到了另一种更简单的方法,仅使用侦听数据库中更改的android 服务。
在尝试实现其中一种方法之前,我想知道这两种方法的优缺点是什么,因为第二种方法似乎比第一种方法简单得多。
https://www.codementor.io/sundayakinsete/firebase-real-time-notifications-app-to-app-opkwbo6ba 中描述的android service
解决方案具有严重的局限性:
- 当应用程序未运行时,它不起作用(请记住,当用户将应用程序置于后台时,系统可能会决定终止它以释放设备内存)
- 它使用额外的电池、RAM 和网络数据,使服务主动侦听远程数据库更改
- 运行应用程序的每台设备(即使在后台)都将计入 100,000 个数据库同时连接的限制。
- 它不适用于 iOS
另一方面,如果您使用 Firebase 云消息传递(通过云函数或自定义服务器):
- 即使应用程序已关闭,您也可以收到通知
- 您不会消耗额外的电池或 CPU
- 您可以对在前台实际使用该应用的用户使用 100,000 个同时连接的数据库限制。
- 它适用于iOS和网络