在 react-native 的后台从服务器获取数据的可用选项

Posted

技术标签:

【中文标题】在 react-native 的后台从服务器获取数据的可用选项【英文标题】:Available options to fetch data from a server while on background in react-native 【发布时间】:2017-01-03 02:31:46 【问题描述】:

我想制作一个带有 react-native 的应用程序(可能会在 android 手机上运行),该应用程序将从服务器获取消息并将它们作为 SMS 发送给联系人。问题是它需要持续关注来自服务器的新消息,这让我想知道人们如何处理这种情况,特别是当应用程序在后台运行时。

1 - 我应该在后台执行setInterval 之类的操作(使用this)并继续从服务器获取以查找新消息,还是效率太低?如果不是,是否有特定情况我应该使用这些背景setInterval,或setTimeout 或类似的东西?

2 - 我应该使用OneSignal 和push notifications 之类的东西来处理这个问题吗?我应该什么时候这样做?

3 - 我在另一个项目中使用 rails 作为后端,并且 rails 5 添加了ActionCable,它可以使用WebSockets。是否可以使用 WebSockets 而不是 OneSignal 为移动应用实现良好且高效的通知功能?

4 - 关于通知、后台运行代码、何时做某事、何时不做某事等方面的任何其他提示?

【问题讨论】:

【参考方案1】:

您应该使用 GCM(Google Cloud Messageing)从服务器接收消息,而不是其他方式。 在 ios 上,使用 APNS。

【讨论】:

【参考方案2】:

您应该使用 FCM(Firebase Cloud Messageing)从服务器接收消息。 GCM 不再由 google.use 维护 use this package to this functionality

【讨论】:

以上是关于在 react-native 的后台从服务器获取数据的可用选项的主要内容,如果未能解决你的问题,请参考以下文章

从 React-Native 中的本地 Json 服务器获取数据

在android中安排后台任务并从任务中调用react-native javascript方法

React-native,在后台继续下载过程

通过onPress中的动态ID在react-native中下载文件(从API获取)

无法在 React-native 中使用 127.0.0.1 从获取请求中获取响应

是否可以从 React-Native 中的图像中获取二进制数据?