当前位置: 首页 > 知识库问答 >
问题:

iOS VOIP推送通知的可靠交付

幸越泽
2023-03-14

像这里的许多人一样,我在寻找一种可靠的方法来将推送通知传递到应用程序进行后台处理。我最终决定使用PushKit和所有工作良好和应用程序被接受到AppStore,即使它不是一个VoIP应用程序。我正在使用AWS SNS(简单通知服务)来处理后端推送处理。然而,如果您发送过多的推送通知,即使是VoIP通知传递也会受到iOS的限制。作为一个简单的测试,我可以在2-3分钟内发送几个VoIP通知,它们将迅速交付并在后台由应用程序处理。在我等待大约10分钟后(锁定iPad并等待iOS应用程序进入睡眠状态后),iOS不会立即发送后续的VoIP推送。AWS正在推送通知,但iOS没有将其传递到应用程序。我知道这一点,因为一旦我插入设备,通知就会被应用程序处理。另外,如果设备处于插电状态,所有通知都会及时发送和处理。

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

共有1个答案

华鹭洋
2023-03-14

我猜,当你把你的应用程序放在后台时,你就会收到推送通知。但当您的应用程序处于终止状态时,则不会收到推送通知。

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

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

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

(1)调试您的应用程序在已死(终止)状态,如应用程序崩溃或不

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

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

调试处于终止状态的pushkit通知

  • 将调试指针放在委托方法上
  • 转到编辑方案
  • 选择运行选项,然后启动-

参考一些资料

 类似资料:
  • 首先,我想声明我一直在研究推送通知和web通知之间的关系,但我有点困惑。 我从这里读到PWAs的推送通知在Safari上的iOS(iPhone)不起作用:从PWA向iOS发送推送通知 然而,如果iPhone用户使用的是Chrome,这是否意味着它们可以工作呢?或者推送通知在任何浏览器上对iPhone中的PWAs都不起作用? 这就把我带到了web通知。web通知在后台对PWAs起作用吗?我的问题是w

  • 在我的iOS应用程序中,我需要通知用户远程设备上的一些紧急事件。无论应用程序的状态如何,用户都需要获得警报:如果应用程序处于前台、后台模式,甚至被杀死。 根据Apple文档,只有“voip”后台模式允许“保持活动”功能在后台与服务器保持连接。但“voip”模式只允许用于真正的voip应用程序,我的应用程序不提供任何voip服务。因此,我认为我的案例的唯一选择是使用Apple推送通知。 当用户的iO

  • 通过上面的行,我得到了一个URL,它将在大约一个月内有用。 现在我不可能做的是将推送通知发送到应用程序。 任何关于如何使用Uri和如何将信息发送到它的光我会很高兴,因为我的400错误,那是关于我的post消息的一些错误。 我可以在发布或调试模式下获得推送通知吗? 使用PHP可以完成带有正确Uri的推送通知吗?

  • 我有一些关于实现推送通知的问题。事情是, > 订阅对象中的所有数据都是必需的吗?或者只有终点。 如果用户登录的设备超过10台,我是否需要为每个设备存储订阅值?是这样的吗?还是应该存储上次登录设备的订阅值?如果是这样,那么其余9个将不会收到任何通知。 如果您正在存储所有loggedin设备的订阅值,那么用户是否登录了多个浏览器?他会在每个浏览器中收到通知吗?这是标准做法吗? 欢迎提出建议,任何标准做

  • 如何通过Azure从我的UWP-App向不同设备上的应用程序的其他实例发送推送通知? 以下是注册设备以接收推送的说明。(这是可行的)第二部分是关于如何在控制台应用程序上发送推送(这也是可行的)https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-star

  • 我正在尝试从远程服务器向应用程序进行非常简单的推送。 我已根据[1]在Azure上设置了通知中心,但我无法获取设备的调试消息。我不想使用移动服务从DB表读/写 我在Swift中这样做,但我在互联网上没有发现任何真正从服务器接收推送的是iOS Swift作为完整的教程。 例如,我不知道如何在swift中编写以下代码: 到目前为止,这是我在AppDelegate中的代码(我从[2]中获得的一些代码):