iOS 后台获取本地通知

Posted

技术标签:

【中文标题】iOS 后台获取本地通知【英文标题】:iOS Background fetch for local notifications 【发布时间】:2015-07-02 10:58:03 【问题描述】:

我有 8 条医药本地通知,每天都有所不同。

他们一天工作得很好,但我想每天都解雇他们。每次执行 fetch 时,我都使用 BackgroundFetch 重新安排本地通知。但我的问题是后台获取取决于用户使用应用程序的频率。如果用户不经常打开应用程序怎么办我也不想实现静默通知,因为如果用户没有互联网连接,它不会唤醒应用程序。我应该使用什么方法来代替后台获取?

编辑:

我还考虑在后台更新位置,因为我的通知时间是从用户的位置获取并相应计算的。但这会消耗大量电池吗?

【问题讨论】:

我也遇到了同样的问题,我认为唯一可靠的解决方案是实现触发重新安排的静默推送通知。当然,您需要 PUSH 服务。 @Andrea 看起来像这样,但现在的问题在于如果没有互联网连接怎么办? @Andrea 您是否考虑过获取位置更新,或者您认为这不是一个好方法? 位置更新会消耗更多电量,除非真的有必要,否则不要依赖它。静默推送通知将是重新安排的一个很好的额外方式。最后你需要调和,你无能为力,成为一个好的公民应用程序 我认为唯一的解决方案是混合不同的方法。重要的位置监控更新可能是一个不错的选择,它不会消耗大量电力,但您无法确定将调用多少次以及系统为您提供在后台执行操作的时间(这是一个假背景)。此外,另一个问题是如何向用户传达您的应用所需的信息:位置、通知等,以完成他认为简单的任务 【参考方案1】:

因为我遇到了同样的问题 可能与您的应用程序相同的应用程序,我想分享我的解决方案。 它带有一个折衷方案,仅适用于 >=ios8。 通过使用交互式通知,您可以在后台重新安排通知,当然用户需要与通知进行交互,但我认为如果您使用不同的操作而不是打开应用程序或取消通知,可能会有更多感兴趣的用户。 这完全是关于使用操作创建配置。Here 你可以找到教程。

【讨论】:

以上是关于iOS 后台获取本地通知的主要内容,如果未能解决你的问题,请参考以下文章

本地通知 ios 11 在后台

使用swift后台获取本地通知

ios应用程序中的本地通知

iOS如何在本地通知上启动后台任务

当 iOS 10 应用程序在后台时,有啥方法可以触发本地通知?

应用程序在后台时未触发 iOS 本地通知