我不确定这个过程是如何调用的。说我是应用程序的用户,我想知道是否有消息给我(或我需要了解的状态更改),我不确定这是否是最佳方式但我想这样做:
Firebase Structure
Users > User A > Status = "No messages"
如上所示,每个用户都有一个节点Status
。
当用户A向用户B发送消息时,用户A改变用户B的Status
节点。
用户B,一直在听他自己的Status
节点,现在知道有新的东西可以读取消息。
这是否可以安全地使用Firebase?
答案 0 :(得分:2)
更简单的说明,更常用的类似于你的场景就像聊天应用程序。用户A向用户B发送消息,然后用户B从Firebase接收通知。
根据您的描述,您打算为Status
节点安装一个侦听器,并在用户发生更改时通知用户。这似乎没问题,但是从之前的建议开始,保持监听器处于活动状态往往会在Android上有一个相应的活动套接字,这会增加电池消耗。
我建议你使用的是firebase-cloud-messaging:
Firebase Cloud Messaging是用于跨平台应用程序开发的Firebase工具套件的组件。
- 发送无限上游/ 下游消息
- 向各个设备发送消息或用户细分
- 处理排队和交付的所有方面
- 优化电池效率
使用FCM,您可以通知客户端应用可以同步新电子邮件或其他数据。您可以发送通知以推动用户重新接入和保留。对于即时消息传递等用例,消息可以将最多4KB的有效负载传输到客户端应用程序。
我认为聊天应用的这个Firebase Codelab也可能会有所帮助。