Android - 在使用Firebase接收新的私人消息时发送通知

时间:2016-07-05 13:59:52

标签: android firebase firebase-realtime-database firebase-cloud-messaging

我正在开发一个应用程序,用户可以在其中发送私信。 我希望在收到新消息时将通知发送给用户。 无论我在哪里看到它都需要使用FCM这样的云服务。

我将每个用户收到的邮件存储在Firebase数据库中,我想知道为什么以下方法不起作用:

  1. 用户登录后,在用户的“接收消息”数据库节点上设置firebase引用。

  2. 使用无限循环启动AsyncTask:

    2.1设置OnDataChange事件以侦听用户的Recieved Messages节点中的任何更改

    2.2 OnDataChange发出任何更改后,向已登录的用户发送通知,告知他收到了新消息。

  3. 这会有用吗?

1 个答案:

答案 0 :(得分:2)

一般来说,你的建议会起作用。 (正如@int j所说,不需要无限循环或AsyncTask)

无论其!根据您的建议,用户的电池不会持续很长时间。让听众一直听取数据库是不好的做法。虽然应用程序在前台很好,但是当应用程序在后台时,您应该取消附加数据库侦听器。这就是为什么您会看到许多人建议您使用FCM通知用户消息可用。