推送工具VoIP推送通知唤醒应用执行时间

3
当我使用开发者APNS接收VoIP推送通知,而应用程序从后台中删除时,我的应用程序会唤醒大约10分钟。
当我做同样的事情,只不过这次使用生产APNS时,我的应用程序会唤醒8-10秒。
有什么诀窍吗?为什么生产版本的应用程序不能至少唤醒30秒?是否有任何方法可以延长唤醒时间,因为10秒不足以完成我必须要做的所有工作?

编辑

最终,后台时间并不是问题。我的应用程序在完全从后台中删除并被voip notif唤醒时崩溃了。我以为它不是崩溃,而是受到限制的执行时间。当我修复了那个崩溃时,一切都像应该的那样运行。

我不知道VoIP服务证书还有开发证书。我只有生产证书。请确保您没有将APNS证书误认为是VoIP证书。您可以杀掉应用程序(双击主页按钮并向上滑动应用程序),然后检查是否仍然可以接收到应用程序的推送消息。如果不能,那么这不是VoIP证书的问题。 - Jeyhey
如果您发送了大量的VoIP推送消息并频繁唤醒应用程序,那么iOS操作系统将从预算中扣除这些开销,导致应用程序只能被唤醒很短的时间。让应用程序休息一下,然后再进行测试。 - Jeyhey
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
0

如果您想在应用程序处于终止状态时调用您的应用程序,则可以基于Pushkit负载保留本地通知。

还要在本地通知中保留声音文件。

因此,即使应用程序已终止,您的应用程序也将在后台处于活动状态。

应用程序将在本地通知声音播放时保持活动状态(最长30秒)。

在此期间完成您的任务。

注意:您的应用程序必须具有有效的类别和权限才能使用Pushkit静默通知。因为推荐仅针对基于VOIP的应用程序使用Pushkit。如果您的应用程序不是基于VOIP的,请联系Apple获取所需的权限。

如果您不了解,请参考Pushkit示例。

https://github.com/hasyapanchasara/PushKit_SilentPushNotification


30秒后将调用哪个方法? - foolishBoy
30秒后将不会调用任何方法,本地通知的交互事件(如取消、接受等)将在点击事件上被触发。让我明确你具体想要什么。 - Hasya
那听起来很不幸!即使我没有点击本地通知,我也必须在失效之前做些什么!我该怎么办? - foolishBoy
如果您的音频文件无法播放,请检查其格式并确保其长度为30秒。 - Hasya
https://stackoverflow.com/questions/44279376/when-pushkit-wake-up-app-how-can-i-know-the-execution-time-is-finished - foolishBoy
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,