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

时间:2017-09-25 10:26:42

标签: android json service server real-time

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

2 个答案:

答案 0 :(得分:2)

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

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

以下是MQTT Service在Android中使用的链接。 https://github.com/eclipse/paho.mqtt.android

答案 1 :(得分:1)

你签出了FCM

吗?

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

您的选择可能是:

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