2017-04-19 34 views
0

我想更好地控制向我的用戶顯示哪些通知,並有選擇地靜默其中的一些通知。爲了做到這一點,我在我的應用中實現了UNNotificationServiceExtension,即使我的應用沒有運行,它也允許我攔截和修改通知。但問題是,即使我沒有撥打didReceive(_:withContentHandler:),系統仍會在大約30秒後顯示遠程通知。我怎樣才能防止這種情況發生?是否可以防止顯示遠程通知?

+0

Silent Push無法用於您的特定情況嗎? – Lepidopteron

+0

@Lepidopteron無聲通知受到限制,Apple建議每小時不要使用超過幾個通知。 – spacitron

+0

那麼,在你的情況下,你需要每小時頻繁的推送通知,但想要抑制通知給用戶? – Lepidopteron

回答

0

從iOS 11開始,無法使用UNNotificationServiceExtension來抑制顯示推送通知。

在WWDC 17的Best Practices and What’s New in User Notifications,Teja公司明確指出,這樣的事情不能做(在22:17分開始):

所有的工作應該是有關修改或增強這一通知。服務擴展還無權刪除此通知或阻止其顯示。 此通知將傳送到設備。如果您想在後臺啓動應用程序並運行一些額外的處理,則應發送無聲通知。您還可以發送無聲通知,並在後臺啓動您的應用,並且您的應用可以確定是否安排本地通知,如果您想提交條件通知。

相關問題