【发布时间】:2020-02-04 17:28:18
【问题描述】:
我正在尝试在 react native 中运行不可停止的后台服务,该服务将通过 Socket.io 从服务器不断侦听消息。
为此,我找到了几个有几个问题的解决方案
-
使用 FCM
方法的问题在于,首先我必须监听 FCM 事件,而不是连接到我的服务器并获取数据(消息 + 图像 + 视频)。而且我不想为我的应用使用 firebase,因为它很昂贵,也不想存储我的用户数据(主要是图像)并处理用户身份验证。
-
使用react-native-background-fetch
这东西很不错,但它只允许每 5 分钟运行一次作业,如果你的服务被 android 杀死,那么你就走了
-
使用Headless JS
说实话我看不懂它的文档
请告诉我该怎么办 我很困惑和惊讶没有适当的方法来处理这个 TIA 问候
【问题讨论】:
-
“不可阻挡的后台服务”是什么意思? Android 不允许这样的事情,以防止应用程序耗尽电池和数据。最好的情况是,Anrdoid 允许前台服务,这需要状态通知,但如果它需要内存,它仍然可以被 Android 杀死。
-
知道了。那么像 facebook whatsapp snapchat 这样的应用程序是如何在不打开它的情况下收到通知的。 FCM 是如何工作的?
-
那我应该怎么做才能监听来自服务器套接字的文本消息?
-
这只是推送消息。 FCM 就是这样做的。其管道由设备服务(Android 和 iOS)处理。
-
你能告诉我FCM到底是怎么做到的吗?
标签: android performance firebase react-native react-native-fcm