是否可以在显示本地通知之前触发 api 调用?
Posted
技术标签:
【中文标题】是否可以在显示本地通知之前触发 api 调用?【英文标题】:Is it possible to trigger an api call before displaying local notifications? 【发布时间】:2017-04-12 13:11:53 【问题描述】:我的项目集成了我编写的自定义 API,用于检索我在应用程序上显示的数据。我也在添加通知的过程中。我目前正在实现本地通知,我有点怀疑是否可以在显示本地通知之前调用 API。我想这样做的原因是因为数据库会随着时间而变化,我需要做一个新的查询来获取新数据。
基本上,我想要做的是调用 api 并在显示预定通知之前获取数据以显示通知。我怎样才能实现这一目标?有人做过类似的吗?
【问题讨论】:
【参考方案1】:您无法保证任何事情,但您可以实现后台获取和内容可用推送,并拥有尽可能新鲜的数据。
这里有一篇很好的技术文章:https://layer.com/how-we-leverage-ios-push-notifications/
基本上:
-
如果您的应用被终止或从未运行,您将无法获取数据。
如果您的应用已经运行,您可以实现后台提取,然后在不确定的时间获得 30 秒的窗口,以便尽可能保持最新状态。
服务器可以发送带有
content-available
标志的空通知来尝试触发后台获取。如果您的数据负载很小,它可以在通知中发送。
您无法安排任何事情在特定时间发生。您可以对本地通知做的最好的事情可能是实现它的自定义视图(iOS 10 功能)——并在该视图中获取新数据。执行此操作时,您处于扩展程序中,因此这不是微不足道的。
【讨论】:
引用的链接不再指向该文章。这是新链接:layer.com/how-we-leverage-ios-push-notifications ...我会编辑答案,但是,它只有 4 个字符的差异,所以所以不会让我完成编辑...而且,我真的找不到任何其他东西改变。以上是关于是否可以在显示本地通知之前触发 api 调用?的主要内容,如果未能解决你的问题,请参考以下文章