背景
我正在构建一个聊天消息传递应用程序,当用户收到来自发件人的消息时,我在处理推送通知时遇到了问题。
我想要实现的目标
像Whatsapp一样,在我收到推送通知并打开飞行模式后,我仍然可以在打开应用程序时看到消息内容。 所以,我相信它在收到通知时已经收到了消息。
问题
当用户通过主屏幕上的图标打开应用程序而不是按或对通知执行其他操作时,我找不到处理远程聊天消息推送通知的好方法。
我尝试了什么
当应用程序执行时,我手动加载了消息,但这不像Whatsapp上测试的行为。 我尝试了这个第三方套接字库,但是一旦应用程序关闭,iOS就杀死了侦听服务,它不适用于我想要构建的内容。
我的问题
如果仍在使用推送通知或后台模式远程通知,是否有任何方法可以在应用程序未运行时处理推送通知?
我还发现了Apple PushKit,我不确定这是否只允许用于VoIP提供应用程序。有谁知道如果我只使用PushKit发送短信,苹果是否会接受我的应用程序发布到他们的AppStore?
一个不受欢迎的问题,Whatsapp如何实现这一目标?它也使用PushKit吗?
实际上,当您的应用程序被杀死时,您无法处理某些事情,因此解决该问题的简单方法是将所有推送通知数据存储在服务器中,在运行应用程序时从服务器获取,并在获得它们后删除它们。我认为Whatsapp以同样的方式处理这个问题。
只需搜索XMPP服务器,对于实时聊天,不需要Pushkit,Pushkit仅用于应用程序终止时的视频通话通知。
使用 XMPP 服务器进行实时聊天集成。
https://code.tutsplus.com/tutorials/building-a-jabber-client-for-ios-xmpp-setup--mobile-7190
什么是 XMPP,如何在 iOS 聊天应用程序中使用它?