我想知道snapshotlisteners和Firebase云消息传递之间的区别。两者都可以触发我的代码来响应服务器端代码(如云功能)。
如果我理解正确,当我向数据库写入内容时会触发snapshotlisteners,并且当我从Cloud Functions发送消息时会触发FCM服务。在以下用例中效率更高:
我有一个用户可以玩的游戏。他将他的移动发送到数据库,云功能检查他的移动。用户正在等待从服务器返回响应,以查看他是对还是错。我应该:
添加一个snapshotlistener,从云函数写入该文档,从侦听器响应触发器,并删除 之后的文件
或
添加FCM服务并以某种方式将消息从云功能发送到设备
我不知道通知(FCM)和侦听器(snapshotlistener)之间的区别。我不想要任何弹出窗口,比如苹果通知,但我只想通知我的代码,以便我可以从云功能的输出做出响应。
答案 0 :(得分:1)
如果用户正在使用您的应用,则数据库侦听器只能可靠地处于活动状态。因此,如果玩家提交移动,然后切换到另一个应用并忘记游戏,他们可能永远不会看到云功能的更新。
另一方面,无论应用程序是否处于活动状态,都可以提供Firebase云消息传递。所以这些是将玩家从云功能中拉回游戏的好方法。
哪一个最适合您的用例可能取决于处理移动所花费的时间(或其他任何功能)。如果是几秒钟,您可以使用数据库侦听器来传达结果。如果时间更长,FCM可能会更好。