Android - 在收到新的 Firebase 私人消息时发送通知
Android - Sending a notification upon recieving a new private message with Firebase
我正在开发一个应用程序,用户可以在其中互相发送私人消息。
我希望在用户收到新消息时向他发送通知。
我到处都说需要使用 FCM 等云服务。
我正在将每个用户收到的消息存储在 Firebase 数据库中,我想知道为什么以下方法不起作用:
用户登录后,在用户的已接收消息数据库节点上设置一个 firebase 引用。
启动一个无限循环的 AsyncTask:
2.1 设置 OnDataChange 事件以监听用户的 Recieved Messages 节点中的任何变化
2.2 在 OnDataChange 提醒任何更改时,向登录用户发送一条通知,告知他收到了一条新消息。
这行得通吗?
总的来说,您的建议是可行的。 (正如@int j 所说,虽然不需要无限循环或 AsyncTask)
然而!根据您的建议,用户的电池不会持续很长时间。让监听器一直监听数据库并不是一个好习惯。虽然应用程序在前台很好,但是当应用程序在后台时,您应该取消附加数据库侦听器。这就是为什么您会看到许多建议您使用 FCM 来通知用户消息可用的原因。
我正在开发一个应用程序,用户可以在其中互相发送私人消息。 我希望在用户收到新消息时向他发送通知。 我到处都说需要使用 FCM 等云服务。
我正在将每个用户收到的消息存储在 Firebase 数据库中,我想知道为什么以下方法不起作用:
用户登录后,在用户的已接收消息数据库节点上设置一个 firebase 引用。
启动一个无限循环的 AsyncTask:
2.1 设置 OnDataChange 事件以监听用户的 Recieved Messages 节点中的任何变化
2.2 在 OnDataChange 提醒任何更改时,向登录用户发送一条通知,告知他收到了一条新消息。
这行得通吗?
总的来说,您的建议是可行的。 (正如@int j 所说,虽然不需要无限循环或 AsyncTask)
然而!根据您的建议,用户的电池不会持续很长时间。让监听器一直监听数据库并不是一个好习惯。虽然应用程序在前台很好,但是当应用程序在后台时,您应该取消附加数据库侦听器。这就是为什么您会看到许多建议您使用 FCM 来通知用户消息可用的原因。