2016-10-19 35 views
0

我想在我的應用程序中顯示一些標誌,表示有未讀消息。我正在爲服務器做後臺請求,以確保有新內容可以顯示。我什麼時候需要從服務器加載通知數據?

我不知道 - 我應該多久檢查一次服務器的更新。我認爲這將是很好的檢查我的ViewController的viewDidLoad方法的更新。但應用程序可以進入後臺,幾天後回來 - viewDidLoad不會被觸發。否則,如果我把它放在viewWillAppear中 - 它應該比應該使用更多。

應該怎麼做?

+0

你可以用'AppDelegate中的applicationWillEnterForeground'方法來問你的服務器的更新時,應用程序從後臺 – alexburtnik

+0

這不是通知返回,這是投票,沒有?你不能使用APNS嗎? – Larme

回答

3

您還可以使用靜默推送通知來觸發同步。當靜默推送通知到達設備時,用戶不知道有關通知的任何信息。但是,您的應用會收到通知,應用會給予一些時間下載新內容並呈現給用戶。你可以閱讀更多關於它在這裏 - https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html,在配置無聲通知部分

+0

謝謝Olga。如果用戶不同意爲我的應用使用推送通知會發生什麼? – moonvader

+0

推送通知當然不會到達。你可以通過解釋爲什麼你需要這個權限以及用戶在拒絕的情況下會失去什麼來說服用戶啓用它們。如果用戶不同意,例如,您可以每天更新一次您的內容(或者更常見,取決於您的需求) - 只需存儲上次更新的時間戳,並將其與viewWillAppear中的當前日期進行比較。 –

相關問題