簡體   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