我在基于Firebase的移动应用的朋友请求模块中工作,所以我考虑选择推送通知的方式。
假设userA请求与userB成为朋友。现在有2个想法:
- userA向简单服务器发送请求,然后它将调用FCM向userB发送通知
- 创建一个服务,监听Firebase实时数据库中更改的数据,然后userA将对该数据库进行更改,并且通知将显示在userB设备上。
我认为两者都有可能实施,但更好的是什么?为什么? 请给我一些建议......
提前致谢。
答案 0 :(得分:2)
使用任何一个都应该没问题。
但是,这里需要考虑的一点是,当监听器对实时数据库保持活动状态时,它还会在用户的设备上保持一个开放的套接字,这会增加电池消耗。
对于FCM,只有在需要发送通知时才会触发。如果朋友请求并非真的那么关键,我认为使用FCM是一种方法。
您是否也考虑过使用两者?如果用户当前在线,最好使用实时数据库,但如果用户离线(未使用该应用程序,则childAdded
不会被触发)。在这种情况下,您可以对其进行设置,以便将通知发送给用户。
您的方案中最重要的是好友请求应首先保存在您的数据库或应用服务器中,以便它将触发相应的操作(FCM通知或实时数据库更新)