gpt4 book ai didi

ios - Swift/iOS 哪种通知机制最可靠?

转载 作者:行者123 更新时间:2023-11-29 05:58:12 26 4
gpt4 key购买 nike

我们目前正在开发一个基于 Swift 4 的 iOS 应用程序。iOS 应用程序会收到一些非常重要的通知,即使应用程序未处于事件状态(例如在后台),这些通知也应该尽可能快且可靠地到达。

因此,我们目前正在问自己最好使用哪种通知机制。我们正在考虑以下事项:

  • 直接向用户显示通知的 Apple 推送通知
  • Apple 无声推送通知将创建 LocalNotification
  • MQTT(但我猜它在后台不起作用?)
  • 用于 VoiP 的 Apple PushKit

你能帮我们解决这个问题吗?据一些互联网研究显示,Apple PushKit 似乎是最可靠的。但是,尽管我们的应用程序实际上没有 voip 功能,但我们可以使用它吗?

非常感谢您的帮助。

最好,月里

最佳答案

编辑(更多信息后)

好吧,在阅读了您的用例后,我实际上认为我们可以大大简化它,并且仍然拥有高度可靠的方法。

假设:

  • 供用户使用的 iPad 可能由医院所有,不会出现任何无法接收通知的问题,因为他们只是发送者。
  • 护士的手机可以有意或无意地配置为接收或不接收通知)
  • 您实际上并不根据通知在应用程序中执行任何关键操作,您只需要护士采取行动即可

考虑到这一点,我给您的建议是使用定期推送通知和短信通知作为备份。

  1. 当用户点击 ipad 表示他们饿了/渴了/痛苦时,您的后端会收到该请求并触发推送通知。
  2. 您的后端现在会启动一个计时器,确定何时会收到表示已读取通知的 ping(护士因收到通知而打开应用程序)。
  3. 如果后端在 1 分钟内(或无论您的阈值是什么)没有收到 ping,您的后端现在会触发一条由运营商发送的 SMS 消息。
  4. 如果您的后端仍然没有收到 ping,您可以重复步骤 2 和 3,但发送给第二联系人(护士长?、医生?)
  5. 打开应用程序后,您将获取所有待处理的通知并执行您需要执行的任何操作(要求护士确认收到或确认已采取操作)
  6. 您甚至可以进行紧急备份,如果在最大时间范围(30 分钟?1 小时?)内从未发生过 ping,则用户的 ipad 会显示一条警告消息,要求用户使用物理“调用护士”按钮.
  7. 您可以根据用户请求的操作反转优先级(首先通过短信触发“疼痛”,然后推送以触发其余所有操作)。

你绝对可以信任推送服务,因为它非常可靠,并且它为你提供了一些调试数据,但只要确保你有一个后备方法和后备方法的后备:P


原始答案

首先,您必须问自己为什么您的应用接收通知如此重要。当用户打开应用程序时,您真正需要完成哪些任务却无法完成。

您永远不应该依赖通知来在应用程序上执行重要操作,通知只是向用户提供的一条信息。它绝不应该成为执行关键事件的一种形式。当然,您可以使用指定的所有方法在收到通知后执行操作,但这些操作只能帮助您的应用比手动触发更快地执行某种逻辑。

确保您构建的应用程序能够以多种方式执行需要不断触发的关键信息。因此,您可以通过推送或静默推送来触发,如果这不起作用,用户会收到一封电子邮件,要求执行一些操作来打开应用程序并手动触发它,等等...

请记住,这些类型的通知可以手动禁用,可以启用但无法传递,因为推送基本上是“即发即忘”。

我不知道您的应用程序是关于什么的,但请尝试始终考虑这样的流程对用户的影响,以及如果关键事件没有在应该执行的时候执行,会发生什么情况。

很抱歉,如果这对您实际寻找的内容没有帮助,但我已经参与了两个“依赖”通知来执行操作的主要应用程序,并且我们在尝试创建时总是遇到很多问题解决方法。

关于ios - Swift/iOS 哪种通知机制最可靠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54939964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com