将通知从 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 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 web 服务推送到 android 应用程序:C2DM