【发布时间】:2018-10-28 10:04:44
【问题描述】:
我正在使用 Firebase 作为数据库和 FCM 作为推送通知服务来构建一个聊天应用程序。
在构建应用程序时,我意识到我不应该总是为每条创建的消息触发推送通知。例如,用户可能已经在聊天,并且不应收到该对话的推送通知。
实现这一点的一种方法是让服务器知道每次用户进入对话并有条件地发送推送通知。但是,这是一个服务器端解决方案,我想知道是否有任何现有的使用 Firebase 的客户端解决方案。
【问题讨论】:
-
由于服务器端是系统发送消息的部分,在我看来,解决方案必须主要在该端。客户端只是接收消息。
-
@DougStevenson 我明白了,我只是觉得服务器应该知道用户的当前屏幕很奇怪。但我想这是解决这个问题的最好方法。谢谢!
-
服务器可以继续发送消息,客户端可以忽略它们。如果您使用 FCM,则发送消息无需任何费用,您只需为后端处理支付最低费用。
-
@DougStevenson 哦,有没有办法让客户端忽略消息,尽管它们包含“通知”有效负载? AFAIK 包含“通知”有效负载的 FCM 消息会触发推送通知,无论应用程序是在前台还是后台。
-
“忽略”是指您的代码在收到消息后选择不做任何事情。您无法更改消息的默认触发行为。
标签: firebase push-notification