在服务器上进行更改时显示通知

show a notification when changes are made on the server

我正在制作一个 android 应用程序。我们使用 JSON link 从服务器获取数据到 android 应用程序。例如:当要交付产品时,会在服务器端进行更改,但只有当应用程序发出 GET 请求时,应用程序才会知道这些更改。由于此 GET 请求需要在后台服务中进行,因此我使用的是 Alarm Manager。在警报管理器中,我必须设置一个特定的时间来检查 json url 中的变化,就像我保持一天的间隔一样。我如何让它动态化,以便应用程序在服务器端发生更改时获取 GET 请求。我的问题是后台服务如何实时知道服务器端发生了变化。请help.Thank您阅读

你看过了吗FCM

Firebase 云消息传递允许服务器向应用程序发送异步 JSON 消息。您的应用可以通过实现 FCM 客户端并执行任何操作来接收消息。

您的选择可以是:

  1. 在服务器上进行更改后,立即发送一条 FCM 消息,其数据主体包含 JSON 更改。可能效率低下,因为需要在 FCM 消息中发送大量数据。
  2. 只要服务器数据发生变化,就向应用程序发送一条最小的 FCM 消息。当应用程序收到此消息时,它可以向服务器创建 GET 请求。因此,仅当数据已更改且应用程序已收到有关更改的通知时,才需要您的 GET 请求。

您可以一直使用前台服务 运行 并在 10 秒后 ping 服务器。通过使用它,您可以实现这一目标。 或者您可以使用 MQTT 在您的服务器和应用程序之间推送和发布消息。 您可以参考这篇 link 如何在 android 中使用 MQTT Basic Steps for Using MQTT in android

逐步说明 https://www.survivingwithandroid.com/2016/10/mqtt-protocol-tutorial.html

这里是 link 用于 Android 的 MQTT 服务。 https://github.com/eclipse/paho.mqtt.android