将通知从 Web 服务器推送到 Android 应用程序

Posted

技术标签:

【中文标题】将通知从 Web 服务器推送到 Android 应用程序【英文标题】:Push notifications from Web server to android application 【发布时间】:2020-08-18 06:07:20 【问题描述】:

大家好,查看这个问题的人。我认为这个问题可能很抽象,但是我通过谷歌搜索找不到正确的答案。

我正在尝试制作一个类似 Starbucks Siren-Order 的应用程序。

我们的安卓应用程序是在android-Java 中制作的,我们也在开发一个网络服务器,它也是 写在Java,使用Spring-MVC

一旦客户使用此应用程序(为客户)下订单,我想让推送通知出现在Store-Owner-Application 中。我正在考虑使用 WebSocket,但在这种情况下,Firebase 是 websocket 的绝佳替代品吗?我以前从未使用过 WebSocket 或 Firebase。 只是要求一些提示和建议。谢谢你:)

【问题讨论】:

【参考方案1】:

在简单的情况下,Firebase 是使用 WebSocket 自行实现的更好选择。

这是因为 Firebase 已经有一个电量耗尽的持续打开的套接字来处理其通知,而且由于大多数应用程序使用它而不是创建新的套接字,它有助于节省电池和其他资源。

虽然有一些例外.. Firebase 并不完美,它大部分时间都允许向客户端发送消息,并且在某些情况下,您的通知会延迟,或者根本不会发送。 例如:

    如果电池电量不足 如果设备最近收到很多推送通知

如果您需要一个简单的 99% 发送推送通知的解决方案,该解决方案易于实施且不会浪费电池 - 使用 Firebase。

如果您必须完全控制您的通知并需要它们一直发送,请考虑尽快实施。

【讨论】:

我必须通过解析 JSON 字符串来制作推送通知的内容。可以使用firebase这样做吗?我以前从未使用过firebase.. 当然。 Firebase(或在本例中为 Firebase Cloud Messaging - FCM)只是一种工具,可让您将消息从服​​务器发送到移动客户端。你可以发送任何你想要的字符串,以任何你想要的格式,在你的客户端中解析它并在那里做任何你想做的事情

以上是关于将通知从 Web 服务器推送到 Android 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

将通知从 iOS 推送到 Android 不起作用

将通知从 python 推送到 android

将数据从 web 服务推送到 android 应用程序:C2DM

从 php 推送到 GCM/APN 的最佳实践

使用 AFNetworking 将 Firebase 通知从 ios 设备推送到花药

Quickblox - 如何将通知推送到 Android 和 iOS 平台?