是否可以在显示本地通知之前触发 api 调用?

Is it possible to trigger an api call before displaying local notifications?

我的项目集成了一个自定义 API,我编写它来检索我在我的应用程序上显示的数据。我也在添加通知的过程中。我目前正在实施本地通知,我有点怀疑我是否可以在显示本地通知之前调用 API。我想这样做的原因是因为数据库随着时间不断变化,我需要做一个新的查询来获取新数据。

基本上,我想要做的是调用 api 并在显示预定通知之前获取要显示的通知数据。我怎样才能实现这一目标?有人做过类似的事情吗?

您不能保证任何事情,但您可以实施后台获取和内容可用推送,并获得尽可能新鲜的数据。

这里有一篇关于技巧的很好的文章:https://layer.com/how-we-leverage-ios-push-notifications/

基本上:

  1. 如果您的应用被终止或从未终止 运行,您将无法获取数据。
  2. 如果您的应用已 运行,您可以实施后台提取,然后在不确定的时间获得 30 秒 windows 以尽可能地保持最新。
  3. 服务器可以发送带有 content-available 标志的空通知以尝试触发后台提取。如果您的数据负载很小,它可以在通知中发送。

您无法安排任何事情在特定时间发生。您可以对本地通知做的最好的事情可能是实现它的自定义视图(iOS 10 功能)——然后在该视图中获取新数据。当您执行此操作时,您处于扩展中,因此它不是微不足道的。