当应用程序被用户杀死时,WhatsApp如何处理iOS上的无声推送通知?



据我所知,当用户通过多任务UI终止应用程序时,静默推送通知不会调用application:didReceiveRemoteNotification:fetchCompletionHandler:。但是在查看WhatsApp的行为时,我不明白他们如何做到以下几点:

  • 将频道静音
  • 强制退出WhatsApp
  • 在静音频道中接收消息
  • 显示徽章
  • 更令人惊讶的是=>
  • 在不启动WhatsApp的情况下,启动飞行模式
  • 现在启动WhatsApp =>文本显示在正确的位置

这意味着WhatsApp以某种方式管理它以处理推送通知的接收,尽管该应用程序被杀死。有人知道如何吗?随着.badge.alert,...?

还有其他方法可以更新应用程序。另一种方法是使用后台应用刷新。后台应用刷新允许应用在后台定期运行,以便它可以更新其内容。

--编辑以添加其他可能的方法:--

在应用程序被杀死后,可以在短时间内(固定长度时间(使用的另一种方法是请求后台执行时间。这可以为应用提供更多运行时间。

对于需要更多执行时间才能实现的任务,您必须请求特定权限才能在后台运行它们而不会挂起它们。在 iOS 中,只允许特定的应用类型在后台运行。例如,支持互联网协议语音 (VoIP( 的应用或充当蓝牙 LE 配件的应用。

--编辑 #2 --

从WhatsApp应用程序的info.plist来看,它使用了多个UIBackgroundModes,其中任何一个都可以用来唤醒/保持应用程序在后台。

WhatsApp的info.plist的一部分:

<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>fetch</string>
<string>remote-notification</string>
<string>voip</string>
</array>

相关内容

  • 没有找到相关文章

最新更新