0

背景

我正在构建一个聊天消息应用程序,当用户接收来自发件人的消息时,我遇到了处理推送通知的问题。

我想要达到的目标

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

问题

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

我尝试了什么

当应用程序出现时,我手动加载了消息,但这与 Whatsapp 上的测试行为不同。我尝试了这个第三方套接字库,但是一旦应用程序关闭,iOS就会终止监听服务,它不适用于我想要构建的内容。

我的问题

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

我还了解了 Apple PushKit,我不确定这是否仅适用于提供 VoIP 的应用程序。如果我仅将 PushKit 用于文本消息传递,有谁知道 Apple 是否会接受将我的应用程序发布到他们的 AppStore?

不切实际的问题,Whatsapp 怎么能做到这一点?它也使用 PushKit 吗?

4

2 回答 2

0

直接搜索XMPP服务器即可,实时聊天不需要Pushkit,Pushkit仅用于应用终止时的视频通话通知。

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

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

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

于 2017-06-28T11:12:37.803 回答
0

实际上,当您的应用程序被杀死时,您无法处理某些事情,因此解决问题的简单方法是将所有推送通知数据存储在服务器中,在运行应用程序时从服务器获取它,并在获得它们后将其删除。我认为 Whatsapp 以同样的方式处理这个问题。

于 2017-06-22T09:01:10.180 回答