gpt4 book ai didi

java - 发送触发服务器拉取请求的 Firebase 消息或通知的最佳方式

转载 作者:行者123 更新时间:2023-12-02 02:44:34 25 4
gpt4 key购买 nike

  • 目前,我负责的 Android 应用程序每分钟都会在服务器上执行一次“拉取”操作,以恢复数据并使用该数据更新 fragment 。显然,当设备切换到打瞌睡模式时,这不起作用。因此,我决定按照 Google 的建议使用 FCM。

约束:

  • 用户需要知道即使在打瞌睡模式下也有新数据可用。

  • 为了不对应用程序进行太多更改,我不想在 firebase 消息中发送数据,而是在收到 fcm 消息时向服务器发送 https 请求。

  • fcm 消息必须:

    1. 通过通知告知用户有新数据可用。

    2. 如果用户按下通知或者在打开屏幕后返回到应用程序,则必须触发 https 请求并且必须更新 Fragment。我要补充的是,它必须最迟在用户返回应用程序时触发。

我现在的解决方案

我使用了高优先级的数据消息而不是通知消息,因为通知消息需要用户录制通知来触发操作。

在 onMessageReceived 中:

  • 我发送了重定向到我的应用程序的通知。
  • 我将请求发送到服务器并更新我的应用程序。

我的解决方案的缺点:

  • 如果我的应用在屏幕关闭时被系统终止,会发生什么情况?
  • 当手机退出打盹模式时,我的请求有完成时间限制。

问题:

  • 这个解决方案是最好的吗?
  • 还有其他方法吗?
  • 也许我可以安排一个任务,当用户在收到的 onMessage 中恢复我的应用程序时立即运行?但我不知道该怎么做。

最佳答案

使用WorkManager安排后台工作立即运行。它还会重试,直到您的代码指示成功。

关于java - 发送触发服务器拉取请求的 Firebase 消息或通知的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57154738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com