在聊天应用程序中实现推送通知

Posted

技术标签:

【中文标题】在聊天应用程序中实现推送通知【英文标题】:Implementing push notification in a chat app 【发布时间】:2021-08-26 12:51:42 【问题描述】:

我正在使用 firebase 实时数据库构建一个聊天功能,其中一个整数变量存储一个数字(在线整数),当人 A 打开聊天时,它会将 1 添加到数据库中,然后如果另一个人 B 上线并打开聊天然后它添加另一个 1。所以,如果数字是 2,我知道两者都在线并且在聊天应用程序中处于活动状态,因此无需发送推送通知。

但我现在面临的问题是,如果用户关闭应用程序时没有按下聊天应用程序的内置返回按钮(按下时减去 1,当两个用户都处于非活动状态时变为 0),那么数字数据库中的内容未更改,这会导致推送通知逻辑出错,因为当人员 A 发送消息时,代码假定人员 B 在线。这怎么可能解决?请有人帮助我了解推送通知的一般工作原理?

【问题讨论】:

【参考方案1】:

首先,所有发送推送通知都是完全免费的。唯一的成本是由执行代码以发送它们的后端(云功能)产生的。

其次。如果您的用户在应用程序中,则不会显示推送通知。即使您想在您的应用中显示某些内容,您也需要处理 onMessageReceived 以便在用户在应用中显示某些内容。

这意味着你不需要做你想做的事情。就像没有用户在应用程序中一样发送所有消息。检查每个用户是否在线并仅在他离线时才发送消息,而不是仅仅将消息发送给所有人,甚至会花费您更多的成本。

我建议您阅读docs 以更深入地了解 FCM,如果您有任何具体问题,我们都可以为您提供帮助:)

【讨论】:

以上是关于在聊天应用程序中实现推送通知的主要内容,如果未能解决你的问题,请参考以下文章

在Android应用程序中实现推送通知

如何在 React Native 中实现 Twilio android 推送通知?

如何使用php json数组在带有angularjs的cordova中实现推送通知

如何使用php在cordova应用程序中实现推送通知?

如何简单地在混合应用中实现推送通知?

在 Localytics 推送通知中实现深度链接