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 中获取推送通知)