APNS:如果应用不是 运行,是否接收非静默通知?
APNS: Receive non silent notifications if app is not running?
正如我在 APNS 文档中看到的那样,如果应用不是 运行,静默通知将在 didreceiveremotenotification
中处理,但它们的优先级较低。所以有时我的 iOS 应用程序收不到静默通知。
如果应用不是 运行(不在前台,不在后台),iOS 是否显示非静默通知?非静默通知是否会触发 didreceiveremotenotification
?
对于非静音通知,
如果应用程序处于 active
或 inactive
状态,将触发 didreceiveremotenotification
。不是 terminated
或 suspended
状态。
在 terminated
或 suspended
状态下,用户点击通知应用程序将通过调用 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:
普通通知不能用作 alternative/work 无声通知,因为您不能在应用程序终止状态下使用无声通知。
静默通知用于将客户端应用程序与服务器上可用的更新内容同步。因为这可以在没有明确的用户交互的情况下完成,所以可以使用静默通知。
静默通知必须包含 content-available
键,并且不得包含警报、声音或徽章键。
阅读:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
在正常通知的情况下,无法隐藏通知 banner/alert/sound 除非 phone 上的用户设置如此。
正如我在 APNS 文档中看到的那样,如果应用不是 运行,静默通知将在 didreceiveremotenotification
中处理,但它们的优先级较低。所以有时我的 iOS 应用程序收不到静默通知。
如果应用不是 运行(不在前台,不在后台),iOS 是否显示非静默通知?非静默通知是否会触发 didreceiveremotenotification
?
对于非静音通知,
如果应用程序处于active
或 inactive
状态,将触发 didreceiveremotenotification
。不是 terminated
或 suspended
状态。
在 terminated
或 suspended
状态下,用户点击通知应用程序将通过调用 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:
普通通知不能用作 alternative/work 无声通知,因为您不能在应用程序终止状态下使用无声通知。
静默通知用于将客户端应用程序与服务器上可用的更新内容同步。因为这可以在没有明确的用户交互的情况下完成,所以可以使用静默通知。
静默通知必须包含 content-available
键,并且不得包含警报、声音或徽章键。
阅读:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
在正常通知的情况下,无法隐藏通知 banner/alert/sound 除非 phone 上的用户设置如此。