【问题标题】:iOS - best practice to send incoming call notifications on VoIP appiOS - 在 VoIP 应用上发送来电通知的最佳实践
【发布时间】:2014-08-29 23:26:10
【问题描述】:

对于来电通知,我能想到的第一个解决方案是 Apple 的推送通知服务。然而,这并不能保证..它可能会丢失的可能性相对较高..在 VoIP 应用程序中,来电通知非常重要,我不能经常错过它......

因此,我关注tips 并启用后台模式以保持应用程序处于活动状态并收听任何来电邀请。正确地,当应用程序收到来电邀请时,我应该只显示本地通知。当应用程序处于后台/非活动状态时,这非常有效。但是,当用户手动终止应用程序时,不会执行任何代码,因此在这种情况下应用程序不会收到任何来电邀请......而且由于这种特殊情况,我仍然不得不依赖远程推送通知。

我想要实现的是..首先等待远程通知,如果它到达,则不再显示本地通知。如果丢失,则显示本地通知,以便用户始终收到通知。

问题是……我无法判断远程通知是否已经到达。

我想知道为 VoIP 应用处理来电通知的最佳做法是什么?

【问题讨论】:

  • +1,好问题,写得很好,我也想知道答案,顺便说一句,我使用 Amazon SNS 推送服务进行推送通知,它也是发送推送的好选择。
  • @mAc 谢谢。我正在使用 Urban Airship 发送推送通知。它让我的生活更轻松,无需直接处理 APNS。权衡是,我失去了控制某些行为的灵活性。我读过这篇文章:blog.layer.com/how-we-leverage-ios-push-notifications 他们处理应用程序被杀死场景的方式听起来确实像是一个计划,但我不知道如何与 Urban Airship 一起处理这个问题。也许您可以尝试使用 Amazon SNS

标签: ios push-notification apple-push-notifications voip


【解决方案1】:

当 APNS 来临时播放一段很长的音频。

【讨论】:

    【解决方案2】:

    来自 appleDoc Apple Developer Docs。 (更新链接)

    在 iOS 8 及更高版本中,IP 语音 (VoIP) 应用注册 UIRemoteNotificationTypeVoIP 推送通知,而不是使用此方法。使用推送通知无需超时处理程序来签入 VoIP 服务。相反,当用户有来电时,VoIP 服务会向用户的设备发送 VoIP 推送通知。收到此通知后,设备会根据需要启动或唤醒应用程序,以便它可以处理来电。

    【讨论】:

    • 我认为以上链接的内容发生了变化。它不包含对 UIRemoteNotificationTypeVoIP 的任何引用。句子已更改为“n iOS 8 及更高版本,IP 语音 (VoIP) 应用程序注册 registerForRemoteNotifications 远程通知而不是使用此方法”
    猜你喜欢
    • 2018-06-08
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 2019-06-26
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多