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

当应用程序被终止时,iOS会对推送通知做出反应

纪实
2023-03-14

我创建了一个简单的聊天应用程序,在接收者离线时向他发送推送通知。

正如我在标题中所说,当应用程序被终止时,我无法通过推送通知正确传递消息。实际上,当iPhone接收到推送通知并且应用程序被终止时,甚至application:didReceiveMemoteNotification:fetchCompletionHandler也不会被触发(如其他示例和apple文档中所示)。

然而,我的应用程序与WhatsApp没有任何不同,但是如果我通过WhatsApp发送消息推送,即使它被杀死,接收者也会正确地发送他的消息。

这怎么可能呢

我读了关于PushKit和它的VOIP消息推送模式,但我想了解如果Whatsapp真的使用这个功能,如果我使用它,我的应用程序会有被苹果拒绝的风险吗?

提前谢谢。

更新:

我对whatsapp所做的测试如下:

  1. iPhone上的Whatsapp被杀

结果:消息正确存在。这让我认为当Whatsapp启动时没有任何同步,但是消息数据已经在苹果手机上传递了。

如果我的应用程序被强制杀死,我无法对推送通知做出反应,这怎么可能呢?

共有1个答案

邓光赫
2023-03-14

@比约恩鲁斯伯格通过VOIP通知解决了这个问题。

 类似资料:
  • 我正在将通知从GCM迁移到FCM。在GCM中,当应用程序处于前台、后台或被杀死时,我能够收到通知,但在FCM中,当应用程序未被打开或被刷出时,我无法收到通知。我错过什么了吗???? } json请求正文:

  • 即使应用程序从后台被杀死或从内存中被刷出,我如何接收到设备的fcm通知。我使用维梧、Oppo、松下设备。但在应用程序被终止时未收到通知。

  • 我使用的是FCM云消息,当应用程序在后台但未被杀死或应用程序正在运行时,它工作得很好。一旦应用程序被停止或从最近的应用程序杀死,它不会收到任何通知。 即使是在应用程序启动后,它也不会收到旧的消息。 用于发送通知的服务器端代码 firebase服务和通知的清单代码 感谢任何帮助。

  • 我使用Firebase控制台发送通知到我的Android设备,它的工作正常时,应用程序是在后台或前台状态。但它没有收到的通知在被杀死的状态,因为我没有附加任何数据,它不应该是一个数据通知。

  • 大家早上好,我已经几个小时没有找到解决办法了。 我使用推送通知电容器插件(https://capacitor.ionicframework.com/docs/apis/push-notifications/)来收听从Firebase(通知和数据类型)向我推送通知,收听通知发生得非常好,即使在应用程序被杀死或在背景。 问题如下: 我想在收到通知时打开应用程序,如果它在后台或已被杀死。 > 如果在应用

  • 但是当我通过两次点击home按钮并滑动应用程序来终止应用程序时,就不会收到json通知。(换句话说,方法“应用程序:DidReceiverEmoteNotification:”未调用)。 我使用NSLog代码来检查通知接收和监视设备CONSOL。 我在stackoverflow的帖子中看到了所有类似的问题,但没有找到答案。