【问题标题】:Run code when app is terminated on silent push notification in ios 13当应用程序在 ios 13 中的静默推送通知中终止时运行代码
【发布时间】:2020-03-18 05:05:00
【问题描述】:

我正在开发消息传递应用程序,它是我们应用程序的一个模块。在 IOS 13 之前 voip 的重大变化,我们可以在应用程序终止时执行 voip,但现在众所周知,voip 的重大变化限制了我们只能使用 voip用于即时消息。所以我现在需要帮助,当应用在静默推送通知中终止时,我们如何执行任务

【问题讨论】:

  • 用户终止您的应用程序是一个明确的信号。他们不希望你做任何工作。
  • 那么 IM(即时消息)应用程序将如何工作。一个应用程序想要将传入的消息保存在本地数据库中。那么当应用程序被杀死时会发生什么?
  • 当应用程序启动时,他们会收到定期推送通知并检索积压的消息。无论如何,无声推送不应该用于大容量。 Apple 建议每小时进行 2-3 次无声推送。请参阅 Apple 的此文档:developer.apple.com/documentation/usernotifications/…

标签: ios swift iphone push-notification voip


【解决方案1】:

静默推送通知极其不可靠,不应用于即时消息传递。 VoIP 推送只能用于报告来电。

对于即时消息,您可以创建一个Notification Service app extension 并使用密钥"mutable-content":1 发送定期推送。这样,当用户收到通知时,应用程序扩展程序将在后台运行,使您可以修改通知的内容并在将其呈现给用户之前执行一些任务 - 请注意,您的应用程序不会唤醒,只有延期。要更新您的数据库,您必须在您的应用程序和此扩展程序之间共享同一个数据库,方法是启用应用程序组并将数据库文件保存在组的目录中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 2016-03-25
    • 2017-08-01
    相关资源
    最近更新 更多