簡體   English   中英

當應用未運行(終止)時,通知應用有關遠程推送通知的信息

[英]Notify the app about remote push notification when the app is not running (terminated)

當應用程序未運行(終止於非后台)並且收到遠程推送通知時,是否有任何方法可以通知應用程序有關此信息,以便該應用程序可以在本地更新某些內容(例如簡單的int計數器)?

我想存儲一些東西,以便下次啟動應用程序時,應用程序知道在應用程序未運行時已收到通知,需要執行某些操作。

如果用戶通過點擊通知來啟動應用程序,則顯然可以通過AppDelegate方法通知該應用程序,但是如果用戶通過點擊應用程序的圖標來啟動應用程序,則永遠不會調用這些方法。

為了知道用戶通過點擊圖標啟動應用程序時的通知,我需要某種方式讓應用程序知道當應用程序處於后台時已收到通知。

簡單的推送通知是您無法實現的。

根據apple docs的說法,如果用戶已通過將其刷出內存來手動殺死了您的應用程序,則在用戶選擇再次啟動應用程序之前,您的應用程序永遠不會在后台啟動以處理數據。

解決此問題的一種方法是使用VOIP推送。 根據蘋果文檔-

收到VoIP推送后,如果您的應用未運行,則會自動重新啟動。

但您有充分的理由使用它,蘋果可能會在批准在應用商店上的應用之前提出要求。

要了解有關VOIP推送的更多信息,請瀏覽此文檔-https: //developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html

您還可以使用“靜默推送通知”。正在確認它們是否在服務器上可用,您需要將其下載到您的應用中,靜默推送通知的有效負載格式類似於

{ content-available:1 }

靜默通知的最佳部分是它們不通知iPhone用戶

這里的1是他們可以從服務器下載的東西。

在下面,我附上了蘋果的靜音通知幻燈片。 在此處輸入圖片說明

您的應用程序正在后台刷新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM