我正在嘗試製作一個與WhatsApp完全相同的應用程序,迄今爲止最大的限制是,當用戶在一段時間後重新打開該應用程序並轉到Conversation View
,新的Message
秒應用程序處於後臺/暫停或終止狀態狀態必須從服務器(API)中恢復,這會導致Conversation View
中顯示的新消息出現延遲。即使應用程序處於後臺/掛起/終止狀態,有沒有辦法讓CoreData與服務器API同步?
如何通過服務器API實現應用程序的永久同步?我很確定WhatsApp這樣的應用能夠做到這一點,因爲Message
s永遠不會被下載,無論何時你重新打開該應用一段時間後,對吧?
什麼是正確的方式來模仿這種類型的行爲?我真的很想學習如何進行這種「高級」同步,我不知道從哪裏開始。再一次,我的目標是嘗試避免服務器下載新的Message
,例如當用戶重新輸入Conversation View
(例如,因爲這將是糟糕的UX)
在此先感謝!
你不能真正得到完美的** **同步。你可以靠近。使用推送通知讓您的應用程序知道有消息要檢索。你也可以做一些*後臺處理來獲取更新。 – ryantxr
是的,我開始意識到它不可能是完美的。但是,在進入它們所屬的ViewController後,是否應該下載「一些」數據(消息)?還是應該像在AppDelegate回調中那樣發生? – jlstr
當應用程序進入前臺時,您可以加載所有對話的所有消息。然後他們在進入對話時已經加載。 – ryantxr