APNS:如果应用未运行,会收到非静默通知吗?

时间:2017-10-05 09:15:46

标签: ios xamarin xamarin.ios apple-push-notifications apns-sharp

正如我在APNS文档中看到的那样,如果应用程序未运行,则会在didreceiveremotenotification中处理静默通知,但它们的优先级较低。因此,有时我的iOS应用程序不会收到静默通知。

如果应用未运行(不在前台,不在后台),iOS是否显示非静默通知?并且非静默通知会触发didreceiveremotenotification吗?

1 个答案:

答案 0 :(得分:3)

对于非静默通知,

如果应用处于didreceiveremotenotificationactive状态,则会触发

inactive。不在terminatedsuspended状态时。 如果terminatedsuspended状态,则用户点按通知应用时会通过调用didFinishLaunchingWithOptions启动,而launchingOptions的有效负载将为Dictionary

如果您提供UNNotificationServiceExtension,则iOS会在收到通知时致电didReceive(_:withContentHandler:),您可以使用它在将远程通知发送给用户之前自定义远程通知的内容。 读:https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension

如果您提供UNNotificationContentExtension,则iOS会在收到通知时致电didReceive,您可以使用自定义加载通知内容。

阅读:https://developer.apple.com/documentation/usernotificationsui/unnotificationcontentextension

<强> P.S:

正常通知不能用作替代/解决静默通知,因为您无法在应用已终止状态下使用静默通知。

无提示通知旨在将客户端应用与服务器上提供的更新内容同步。由于这可以在没有显式用户交互的情况下完成,因此可以使用静默通知。

无提示通知必须包含content-available密钥,且不得包含警报,声音或徽章密钥。 阅读:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html

如果是正常通知,除非用户在手机上设置,否则无法隐藏通知横幅/警告/声音。