在Firebase实时数据库中进行了一些更改后(例如在聊天应用程序中),我找到了两种可能的方法来发送通知:
@H_301_2@>可以使用Cloud Functions for Firebase,如in this blog post所述.
>我还发现here另一种更简单的方法,只使用一个侦听数据库变化的android服务. @H_301_2@我想知道在尝试实现其中之一之前两种方法的优点和缺点是什么,因为第二种方法似乎比第一种方法简单得多.
>我还发现here另一种更简单的方法,只使用一个侦听数据库变化的android服务. @H_301_2@我想知道在尝试实现其中之一之前两种方法的优点和缺点是什么,因为第二种方法似乎比第一种方法简单得多.
解决方法
https://www.codementor.io/sundayakinsete/firebase-real-time-notifications-app-to-app-opkwbo6ba中描述的android服务解决方案有严重的局限性:
@H_301_2@>当应用程序未运行时它不起作用(请记住,当用户将应用程序置于后台时,系统可能会决定将其终止以释放设备内存)
>它使用额外的电池,RAM和网络数据,以保持服务主动监听远程数据库更改
>即使在后台运行应用程序的每个设备也会计入与数据库同时连接的100,000个限制.
>它在iOS上不起作用 @H_301_2@另一方面,如果您使用Firebase Cloud Messaging(通过云功能或自定义服务器): @H_301_2@>即使应用已关闭,您也可以收到通知>你不消耗额外的电池或cpu>您可以为实际在前台使用该应用的用户使用100,000个并发连接的数据库限制.>它适用于iOS和Web
>它使用额外的电池,RAM和网络数据,以保持服务主动监听远程数据库更改
>即使在后台运行应用程序的每个设备也会计入与数据库同时连接的100,000个限制.
>它在iOS上不起作用 @H_301_2@另一方面,如果您使用Firebase Cloud Messaging(通过云功能或自定义服务器): @H_301_2@>即使应用已关闭,您也可以收到通知>你不消耗额外的电池或cpu>您可以为实际在前台使用该应用的用户使用100,000个并发连接的数据库限制.>它适用于iOS和Web