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

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

叶俊郎
2023-03-14

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

  • 静音一个频道
  • 强制退出WhatsApp
  • 在静音通道接收消息
  • 徽章显示
  • 更令人惊讶的是=

这意味着WhatsApp以某种方式管理它来处理推送通知的接收,尽管应用程序被终止。有人知道怎么做吗?使用。徽章。警报。。。?

共有1个答案

谭思博
2023-03-14

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

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

另一种可以在应用程序被终止后短时间内(固定长度时间)使用的方法是请求后台执行时间。这可以给应用程序更多的运行时间。

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

--编辑#2--

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

部分信息。WhatsApp的列表:

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
    <string>fetch</string>
    <string>remote-notification</string>
    <string>voip</string>
</array>
 类似资料:
  • 我正在尝试构建一个实时聊天应用程序。 我已经整合了https://pub.dev/packages/flutter_local_notifications用于推送通知的软件包,这是有效的。 我没有使用Firebase,我正在使用我自己的自定义后端,使用https://socket.io/进行实时聊天。 我想在用户发送聊天信息时接收推送通知。推送通知在应用程序处于前台或后台时起作用。但是,当我从进程

  • 我正在开发一个电子邮件应用程序,我希望用户在收到新电子邮件后立即收到推送通知。为此,我使用FCM。我刚刚通过以下链接尝试使用FCM推送通知:https://www.youtube.com/watch?v=XijS62iP1Xo 感谢每一种帮助。提前感谢。

  • 我注意到,在iOS 11 beta 2上,无论应用程序的状态如何(后台/前台),静默通知都不会传递到 。 null 但在iOS 11上不调用delegate方法。 null 这是iOS 11的bug还是我错过了iOS 11的新东西? 请注意,我不是在谈论或使用 框架,它不应该用于发送静默推送。 下面是一个示例项目,说明了这个问题(您必须设置自己的bundle id) 当您使用示例项目并向应用程序发

  • 我第一次在firebase上工作,了解firebase的脱机功能,测试了两个场景: 设想1(工作): > 按后退按钮(关闭应用程序) 场景2(不工作): 脱机模式,将数据写入firebase数据库 关闭应用程序 从后台删除应用程序(删除应用程序) 已联机,未添加数据 我加了一行: 如何处理场景2?我需要通过本地数据库处理这个场景吗?

  • 我创建了一个简单的聊天应用程序,在接收者离线时向他发送推送通知。 正如我在标题中所说,当应用程序被终止时,我无法通过推送通知正确传递消息。实际上,当iPhone接收到推送通知并且应用程序被终止时,甚至application:didReceiveMemoteNotification:fetchCompletionHandler也不会被触发(如其他示例和apple文档中所示)。 然而,我的应用程序与W