如何从移动应用程序中的私有API获取后台的即时更改?

时间:2018-11-02 17:27:21

标签: node.js api xamarin mobile background

我正计划为android和ios用户创建一个移动应用程序,我想我会尝试使用xamarin,因为我将独自参与这个项目,而且我没有很多时间。

我希望两个平台的移动应用都可以从api获取数据,然后,如果有可用的新数据,我们会通过通知通知用户。

移动设备将如何在这种项目中工作?我的意思是我应该提供后台服务,然后通过http请求每隔x秒/分钟检查一次?在那种情况下,哪个时间间隔?在这种情况下,我应该使用websockets代替吗?

该应用程序可能被很多人使用,所以我想知道这种项目的情况:快速获取更改,而不会由于连接过多或其他原因而导致服务器超载。

对此我感到困惑,我需要一些照明,与之相关的任何移动应用程序/服务器体验将不胜感激!

编辑:

根据用户的建议,此处提供其他信息:

  • 该API是自制的,可使用NodeJS中的JWT轻松实现。
  • 即使应用处于后台/关闭状态,其设备上的每个用户也应尽快从服务器获取消息。
  • 将来也许是一种在用户之间发送消息的方法。

2 个答案:

答案 0 :(得分:2)

您必须实施推送通知。

在xamarin中实现它非常容易。只需将推送通知发送到设备,并在收到通知的回调上发送API请求以检索更新的数据。

此处是用于从自定义API发送推送通知的文档。 https://docs.microsoft.com/en-us/appcenter/push/pushapi

答案 1 :(得分:0)

我不是移动开发人员,所以要加一点盐。

此问题的答案实际上取决于您正在执行的操作,这将通知检查API的频率。例如,如果它是一个消息传递应用程序,则可以让它每隔几分钟检查一次,以查看是否有未发送的消息,然后在接下来的X分钟内更频繁地检查(以促进实时对话)。

如果这是在驾驶时使用的GPS导航应用程序,则您将需要更频繁的请求。

对于API,这还取决于哪种类型的API以及您可以对其发出的请求数量。您是每小时获得x呼叫次数的商业API吗?它是您构建的API吗?等等

基本上,您需要提供更多信息才能获得更具体的答案。