是否可以在iOS上发送静默本地通知



我的应用程序暂停模式唤醒,从服务器发出静默远程通知,完全符合我的意愿。此服务器发送带有">content-available:1"的推送通知,这将完成这项工作。

现在我想在没有服务器帮助的情况下执行此操作,因此我想在未来的某个时间(例如 15 分钟后)发送静默的本地通知(从应用程序),但找不到设置"内容可用:1"的方法。所以我最终会收到本地通知,它不会唤醒我的应用程序,就像远程通知一样。

我已经搜索了信息,我能找到的只是交互式通知的示例以及如何设置标题、正文、警报和触发器(基于位置、日期等)。但没有关于如何设置内容可用属性的信息。

那么,是否可以为本地通知设置内容可用?

没有用户干预,这是不可能的。没有Android的AlarmManager类型的解决方案可以将iOS中的挂起模式唤醒应用程序。在 iOS 中,无法定期从挂起模式唤醒应用,远程推送通知除外(如果外部应用程序定期发送推送通知)。

我认为如果没有用户对本地通知的干预,就不可能唤醒应用程序。 后台提取可能是您案例的可能解决方案。

application.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)

当 iOS 决定可以进行后台提取时,将调用此 UIApplicationDelegate 方法:

func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void)

后台获取是这里唯一的解决方案。

Xamarin文档中有一些信息可以很好地解释它

似乎无论如何,推送通知都使用后台提取,因此这实际上是相同的路由,尽管通过不精确的计时机制。

如果未设置所有这些值,则通知应保持静默状态:

notification.alertBody = message;
notification.alertAction = @"Show";
notification.category = @"ACTION"; 
notification.soundName = UILocalNotificationDefaultSoundName;

相关内容

  • 没有找到相关文章

最新更新