我正在开发一个应用程序,用户可以在其中发送私信。 我希望在收到新消息时将通知发送给用户。 无论我在哪里看到它都需要使用FCM这样的云服务。
我将每个用户收到的邮件存储在Firebase数据库中,我想知道为什么以下方法不起作用:
用户登录后,在用户的“接收消息”数据库节点上设置firebase引用。
使用无限循环启动AsyncTask:
2.1设置OnDataChange事件以侦听用户的Recieved Messages节点中的任何更改
2.2 OnDataChange发出任何更改后,向已登录的用户发送通知,告知他收到了新消息。
这会有用吗?
答案 0 :(得分:2)
一般来说,你的建议会起作用。 (正如@int j所说,不需要无限循环或AsyncTask)
无论其!根据您的建议,用户的电池不会持续很长时间。让听众一直听取数据库是不好的做法。虽然应用程序在前台很好,但是当应用程序在后台时,您应该取消附加数据库侦听器。这就是为什么您会看到许多人建议您使用FCM通知用户消息可用。