iOS React 在应用程序被杀死时推送通知

Posted

技术标签:

【中文标题】iOS React 在应用程序被杀死时推送通知【英文标题】:iOS React to push notifications when app is killed 【发布时间】:2017-06-07 19:37:12 【问题描述】:

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

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

但是,我的应用与 whatsapp 没有任何不同,但如果我通过 whatsapp 发送推送通知,即使它被杀死,接收者也会正确传递他的消息。

这怎么可能

我了解了 PushKit 及其 VOIP 推送通知模式,但我想了解 Whatsapp 是否真的使用此功能,如果我使用它,我的应用是否有被 Apple 拒绝的风险?

提前致谢。

更新:

我用whatsapp做的测试如下:

    iPhone 上的 Whatsapp 被杀; 另一台设备在 Whatsapp 上向我发送消息; 我的 iPhone 收到推送通知; 在 iPhone 上激活飞行模式; 用图标应用打开 Whatsapp(不是点击推送通知);

结果:消息正确。这让我觉得当 Whatsapp 启动但消息数据已经在 iPhone 上传递时没有同步。

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

【问题讨论】:

可能是因为它会在再次激活时获取新消息...? Objective-c 或 swift。您正在使用这两个标签。优化你的标签。 @SushilSharma 斯威夫特 @holex 我在我的更新中添加了一些测试细节。 Getting push notification payload when user opens app manually after push has been received in the background的可能重复 【参考方案1】:

@BjørnRuthberg 通过 VOIP 通知解决了这个问题。

【讨论】:

我的应用程序是否仍有被 Apple 拒绝的风险,或者这是 whatsapp 正在使用的确切解决方案,我也应该使用。我需要一个与您的问题完全相同的功能

以上是关于iOS React 在应用程序被杀死时推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios 中单击通知时接收数据,当应用程序被杀死时,(react-native-fcm 模块在 IOS 中获取推送通知)

当应用程序被杀死时,iOS 没有收到推送通知

当 iOS 应用程序被暂停/杀死并且用户点击通知时如何处理 Firebase 推送通知?

应用程序被杀死/关闭/未打开时的 IOS 推送通知操作

应用程序被杀死时未收到 IOS 13 VOIP 推送通知

使用swift杀死应用程序时如何存储ios推送通知