繁体   English   中英

当应用程序处于前台时,是否建议使用静默通知(FCM)将数据推送到移动应用程序中?

[英]Is it recommended to use silent notification(FCM) to push data into mobile apps when the app is in Foreground?

还有一种有效的方法可以通过后端服务器跟踪用户正在使用的应用程序是否在前台? 在移动应用程序开发中,有哪些最佳实践和推荐方法可以尽快从后端服务器获取最新数据到在前台运行的移动应用程序?

通常,为了保持最新状态,根据您的情况有很多解决方案。 我将它们分为两种方法:

1- 当某些特定条件满足时(例如,间隔或基于用户操作),您会提取新数据。

2-数据应该被推送到您的应用程序。

如果您需要每隔一段时间更新一次,第一种方法非常明显,您可以每隔一段时间调用网络 API 并获取最新更改。

在第二种方法中,在 iOS 操作系统中,当应用程序在前台 state 时,有静默推送通知WebSockets

静默推送通知是一种推送通知,它可以携带有效负载并以静默方式传送到您的应用程序,无论您的应用程序位于后台 state 还是前台。 这种通知有一些限制,根据某些条件,操作系统将决定是否向您的应用程序发送推送通知。 并且还有有效载荷大小限制(高达 4Kb)
您可以在Apple 文档中阅读有关此内容及其限制的更多信息

第二种方法非常简单,它需要使用第三方库(如StarScream )打开套接字连接并实时获取最新更新。 对于服务器将数据推送到您的应用程序的时间或您接收的有效负载的大小,这种方法没有限制。 因此,当应用程序处于前台且连接处于活动状态时,您可以随时从后端服务器收到最新更改的通知。

在这两种方法之间进行选择完全取决于您的情况。 如果您应该在一小时内收到大量更新并传输大量数据,那么我建议您使用 WebSocket 方法,否则推送通知将足够且更易于实施。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM