【问题标题】:show a notification when changes are made on the server在服务器上进行更改时显示通知
【发布时间】:2018-03-06 06:59:45
【问题描述】:

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

【问题讨论】:

    标签: android json service server real-time


    【解决方案1】:

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

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

    这是 MQTT 服务在 Android 中使用的链接。 https://github.com/eclipse/paho.mqtt.android

    【讨论】:

    • 将尝试前台服务,但它对应用程序来说不是太费力而且我猜它不能用于推送通知,所以 MQTT 可能像你所说的那样有用,但我正在使用 GCM,无论如何谢谢寻求帮助
    • 你肯定有帮助!我以为 MQTT 只用于 I.O.T 项目,我了解到它也可以用于 android
    • 所以请接受我的回答,以便其他人可以从中受益。谢谢@DivyangShah
    • 我没有足够的声望给你一个!对不起
    • 接受答案有什么大不了的?你得到的学分太多了吗?
    【解决方案2】:

    你检查过FCM

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

    您的选择可能是:

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

    【讨论】:

    猜你喜欢
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多