iOS VOIP推送通知的可靠传送

问题描述:

与许多人一样,我一直在寻找一种可靠的方式将推送通知发送到应用程序进行后台处理。我终于决定使用PushKit,并且所有工作都很好,并且该应用程序被接受到AppStore中,尽管它不是VoIP应用程序。我正在使用AWS SNS(简单通知服务)来处理后端推送处理。但是,如果您发送过多推送通知,则即使VoIP通知传送也会受到iOS的限制。作为一个简单的测试,我可以在2-3分钟内发送几个VoIP通知,并且它们将在后台迅速提交并由应用程序进行处理。等待大约10分钟后(在锁定iPad并等待应用程序被iOS置入睡眠状态后),iOS将不会及时传送后续的VoIP推送。 AWS正在推送通知,但iOS并未将其发送到应用程序。我知道这一点,因为只要插入设备,通知就会被应用程序处理。顺便说一句,如果设备被插入,所有通知都会立即传送和处理。iOS VOIP推送通知的可靠传送

所以我的问题是这样的:有其他人注意到这种行为与VoIP推也?尽管iOS文档指出VoIP推送是立即交付的,但是如果iOS认为在一段时间内推动“过度”,iOS似乎会对其进行限制。

+0

你找到解决办法吗? –

+0

我有完全相同的问题。我不知道要去哪里看,或者我应该改变什么。我100%确定应用程序不会崩溃。 iOS限制是非常随机的。有时设备在8小时后唤醒,有时在10分钟后才唤醒。 – Maleandr

我想,当你保持你的应用程序在后台,然后你会收到推送通知。但是当你的应用程序被终止时,不要收到推送通知。

可能是您的应用程序在处于终止状态时会崩溃。

Pushkit无声通知始终具有较高的优先级,并始终保持良好运行状态。

请在下面尝试找出原因和解决方案。

(1)调试中杀死(终止)状态您的应用,像应用程序崩溃或不

(2)使用PEM和证书(这两种情况下,背景和发送用简单的PHP代码无声通知杀死(终止) )

(3)检查pushkit集成步骤,如果你的应用没有注册VOIP,那么它将不会收到安静的通知。

enter image description here

enter image description here

调试pushkit通知,终止了委托方法

  • 去编辑方案
  • 选择运行选项,然后启动状态

    • 认沽调试指针 - >等待执行上马è
    • 发送推动器的有效载荷从后端
    • 一旦你在设备
    • 它会自动调用和调试指针将在委托方法调用得到有效载荷。

    enter image description here

    Refer some material

  • +0

    它适合你吗?如果是,那么你可以接受答案。 – Hasya

    +0

    PushKit无声通知不可靠,并且效果不佳。我已经在我的VOIP应用程序和Skype上测试了这一点。当iPad处于某种形式的超睡眠状态时,不能保证它们能够在合理的时间内发送(其中一些延迟了1分钟!)。 – Maleandr

    +0

    这样,就不能保证whatsapp和skype通话或视频通话,对吗?但是,这工作。在iOS中,pushkit或callkit只是依赖于实现这样的场景。如果配置正确,那么这个工作完美,可能会有延迟,但效果很好。 – Hasya