是否可以在iOS上发送SILENT LOCAL通知

时间:2017-07-06 09:04:30

标签: ios apple-push-notifications localnotification silent-notification

我的应用从服务器上的静默远程通知中的暂停模式唤醒,完全按照我的意愿。此服务器发送推送通知,其中包含“ content-available :1”,可以完成此任务。

现在我想在没有服务器帮助的情况下这样做,所以我想在将来的某个时间发送无声的本地通知(来自应用) (喜欢15分钟后),但找不到设置“content-available:1”的方法。所以我最终得到本地通知,但不会唤醒我的应用,因为我可以使用远程通知。

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

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

5 个答案:

答案 0 :(得分:2)

我认为在没有用户干预本地通知的情况下唤醒应用程序是不可能的。 后台获取可能是您案例的可能解决方案。

application.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

后台提取是此处唯一的解决方案。

Xamarin docs中有一些信息可以很好地解释

似乎PushNotifications仍然使用Background Fetch,所以这实际上是相同的路线,尽管通过不精确的计时机制。

答案 3 :(得分:-3)

答案 4 :(得分:-4)

如果您未设置所有这些值,通知应该是静默的:

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