在iOS中处理聊天应用程序的远程通知

嗨,

背景

我正在build立一个聊天消息应用程序,并且当用户从发送者接收消息时遇到了处理推送通知的问题.IV

实现

就像Whatsapp一样,在我收到推送通知并打开飞行模式之后,我仍然可以在打开应用程序时看到包含的信息。 所以,我相信在收到通知的时候已经得到了消息。

问题

当用户通过主屏幕上的应用程序图标打开应用程序而不是按下button或对通知执行其他操作时,找不到处理远程聊天消息推送通知的好方法。

受审

手动加载消息,当应用程序做了,但这不像我在Whatsapptesting。 我尝试了第三方套接字库(socket.io),但是一旦应用程序closures,iOS就终止了监听服务,它不适用于我想要构build的东西。

如果仍然使用推送通知或后台模式远程通知,是否有任何方式能够处理推送通知,当应用程序不运行?

我也发现有关苹果的PushKit,我不确定这是只允许VoIP提供的应用程序? 有谁知道苹果是否接受我的应用程序发布到AppStore,如果我只使用PushKit只发短信?

最贴心的问题,Whatsapp如何实现这个? 它也使用PushKit。

谢谢!!!

事实上,当你的应用程序被杀死的时候,你不能处理一些事情,所以简单的解决scheme就是将所有的推送通知数据存储在服务器中,当你运行应用程序的时候从服务器获取数据,一旦得到它们就删除它们。 我认为Whatsapp以相同的方式处理这个问题。

只需searchXMPP服务器,实时聊天就没有必要使用Pushkit,Pushkit只能在应用终止时进行video呼叫通知。

使用XMPP服务器进行实时聊天集成。

https://code.tutsplus.com/tutorials/building-a-jabber-client-for-ios-xmpp-setup–mobile-7190

什么是XMPP,以及如何在iOS聊天应用程序中使用它?