【问题标题】:Reliable delivery of iOS VOIP Push NotificationsiOS VOIP 推送通知的可靠传递
【发布时间】:2017-11-16 19:43:31
【问题描述】:

像这里的许多人一样,我一直在寻找一种可靠的方法来将推送通知传递到应用程序以进行后台处理。我最终决定使用 PushKit 并且一切正常,并且该应用程序被 AppStore 接受,即使它不是 VoIP 应用程序。我正在使用 AWS SNS(简单通知服务)来处理后端推送处理。但是,如果您发送过多的推送通知,即使是 VoIP 通知传递也会受到 iOS 的限制。作为一个简单的测试,我可以在 2 - 3 分钟内发送多个 VoIP 通知,它们会及时发送并由应用程序在后台处理。在我等待大约 10 分钟后(在锁定 iPad 并等待 iOS 将应用程序置于睡眠状态之后),随后的 VoIP 推送将不会被 iOS 及时发送。 AWS 正在推送通知,但 iOS 并未将其传送到应用程序。我知道这一点,因为一旦我插入设备,通知就会由应用程序处理。顺便说一句,如果设备一直插着电源,所有通知都会及时发送和处理。

所以我的问题是:其他人是否也注意到 VoIP 推送的这种行为?尽管 iOS 文档表明 VoIP 推送会立即交付,但如果 iOS 认为推送在一段时间内“过度”,它似乎确实会限制它们。

【问题讨论】:

  • 找到解决方案了吗?
  • 我有完全相同的问题。我不知道在哪里看或我应该改变什么。我 100% 确定应用程序没有崩溃。 iOS 节流是非常随机的。有时设备会在 8 小时后唤醒,有时不会在 10 分钟后唤醒。

标签: ios iphone amazon-web-services push-notification voip


【解决方案1】:

我猜,当您将应用程序保持在后台时,您会收到推送通知。但是当您的应用程序终止时,则不会收到推送通知。

当你的应用程序处于终止(终止)状态时,它可能会崩溃。

Pushkit 静默通知始终具有较高的优先级,并且始终运行良好。

尝试以下方法找出原因和解决方案。

(1) 在终止(终止)状态下调试您的应用程序,例如应用程序是否崩溃

(2) 使用 pem 和证书发送带有简单 php 代码的静默通知(案例背景和终止(终止))

(3) 检查 pushkit 集成步骤,如果您的应用未注册 VOIP,则不会收到静默通知。

在终止状态下调试 pushkit 通知

  • 将调试指针放在委托方法上
  • 进入编辑方案
  • 选择运行选项然后启动 -> 等待启动可执行文件
  • 从后端发送推送套件负载
  • 在设备上获得有效负载后
  • 它将自动调用,调试指针将在委托方法处调用。

Refer some material

【讨论】:

  • 它对你有用吗?如果是,那么您可以接受答案。
  • PushKit 静默通知不可靠且效果不佳。我已经在我的 VOIP 应用程序和 Skype 上对此进行了测试。当 iPad 处于某种超级睡眠状态时,无法保证它们会在合理的时间内交付(其中一些有 1 分钟的延迟!)。
  • 这样一来,whatsapp 和 skype 通话或视频通话都无法保证,对吧?但这有效。在 iOS 中,无论是 pushkit 还是 callkit 都是实现这种场景的唯一依赖项。如果配置正确,那么它可以完美运行,可能会有延迟,但效果很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2017-01-20
  • 1970-01-01
  • 2018-05-06
  • 1970-01-01
相关资源
最近更新 更多