你好,两个问题。
1.客户端已进入聊天室A,此时可正常的收发消息。之后将程序放置后台,程序会调用回调- (void)imClientPaused:(AVIMClient *)imClient。当程序反置前台,会调用- (void)imClientResumed:(AVIMClient *)imClient,根据文档表示聊天服务状态恢复,但是此时我就接收不到其他人发的消息了。
2.目前处于聊天室中,接听电话,之后挂断电话,客户端无法接收消息
期待您的回复。
技术支持们能否回复一下啊
请问有人回答吗?等的花都谢了。。。。
请问有人回答吗?
你好,在 iOS 中,IM 在进入后台后,长连接就停止了。取而代之,我们会走苹果的推送。请参考 https://leancloud.cn/docs/ios_push_guide.html
那如果程序进入后台,之后马上回到前台呢?按正常来讲,应该还能接收消息呀。(我不使用推送)
应该是可以收到消息。聊天的长连接是自动处理的,对开发者来说是透明的。imClientPaused 和 imClientResumed 是 SDK 调用的,还是你手动调用的?
你好,是自动调用的。
SDK 版本是多少,我用 v3.1.2.4 SDK 没有复现这样的问题。尝试升级一下 SDK 呢?
另外也可以参考 NextChat 这个 Demo,URL 是 https://github.com/leancloud/NextChat
我升级一下sdk,看看
你好,麻烦你再看看第二个问题
第二个问题跟第一个问题是相关的,如果升级能够解决第一个问题,那么第二个问题应该也顺带解决了。
你好,我这升级到了v3.1.2.5了,可是还是不可以呢。我退到后台程序调用回调- (void)imClientPaused:(AVIMClient *)imClient。返回前台程序调用回调- (void)imClientResumed:(AVIMClient *)imClient。之前没有任何的操作呢。
能发一个去掉业务代码的,最小化的,可以复现该问题的项目过来吗。
也可以发到邮箱 ttang@leancloud.rocks
你好,我使用的是开放聊天室,暂态的,不是群组呢。
你好,我们这知道结果了。程序从后台进入前台,需要我们自己再次手动进入一次聊天室
您好,真对第一个问题,程序进入后台调用imClientPaused,我查看status是paused状态,之后回到前台,我查看status是opened状态,这个状态下,我接收不到别人的消息了呢。除非我再次调用joinWithCallback进入聊天室。
您好,这里的确有个问题导致切换到前台后上线失败,最近已经修复了,需要将 SDK 升级到最新版。
好的 我试试