当应用程序在后台没有后台通知时收到有关 APNS 通知的通知

Posted

技术标签:

【中文标题】当应用程序在后台没有后台通知时收到有关 APNS 通知的通知【英文标题】:Be notified about an APNS notification when app is in background WITHOUT background notifications 【发布时间】:2020-03-16 02:52:16 【问题描述】:

我已经在我的 Swift ios 应用中订阅了 APNS 通知。

我只对面向用户的通知感兴趣,所以我没有设置后台模式。

如果应用程序打开,则调用UNUserNotificationCenterDelegateuserNotificationCenter:willPresent:withCompletionHandler。如果应用程序在后台并且用户点击通知(默认打开我的应用程序)userNotificationCenter: didReceive: withCompletionHandler 被调用。

但是,如果用户只是在通知中心关闭通知,那么我的应用不知道通知已送达。

是否有可能在应用程序启动时以某种方式检查在应用程序处于后台或被杀死并且该用户没有点击时传递了哪些通知?

【问题讨论】:

你控制通知的负载吗?如果您可以将“可变内容”放入 aps 字典中,则可以使用 UNNotificationServiceExtension。扩展程序将在显示通知之前收到通知。您不必编辑通知,但您可以保存任何所需的信息。 @Simon 这真是天才!虽然我还没有通过 Apple 审查,但我确实可以通过共享应用程序组将通知发送到主应用程序中,即使用户没有点击它们。如果您将此添加为答案,我会接受。 添加为答案,谢谢。苹果会很好的。他们不知道您无意修改通知 【参考方案1】:

您是否控制通知的有效负载?

如果您可以将“可变内容”放入 aps 字典中,则可以使用 UNNotificationServiceExtension。

扩展程序将在显示通知之前收到通知。

您不必编辑通知,但可以保存任何所需的信息。

【讨论】:

以上是关于当应用程序在后台没有后台通知时收到有关 APNS 通知的通知的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序在后台时,推送通知未调用 didReceiveRemoteNotification

当应用程序处于终止状态时,iOS 静默推送通知不会收到

IOS;当应用程序未运行或在后台时,推送通知不起作用

后台问题中的 Apple 推送通知

检索应用在后台时收到的通知列表

应用程序在 iOS 11 中处于后台时未收到推送通知