前段时间一个项目需要集成聊天功能,市面上的第三方即时通讯很多,有环信、融云等等,而我这里集成的是融云即时通讯,在集成中出现了几个问题。
1.RongCallKit和RongCallLib框架混用,直接混用的结果就是导致原本应该实现的方法无法显示相应的效果,查阅了很多资料和各种方式、方案都不起作用,在融云的工单里找到了相关提示,说是RongCallKit和RongCallLib不能混用,只能单一的使用,不然很多设置是不起作用的,相关的效果是无法显示的。如果在集成过程中遇到相似的情况,可以检查下kit和lib是否混用了。
2.怎么自定义消息列表页,想要自定义消息列表页面必须继承融云框架中的RCConversationListViewController,但是在没有消息的是时候,中间有一张暂无消息的图片,而项目的设计稿如下:

要想达到这种效果,在没有消息的时候只显示分割线以上的部分,必须把无消息的图片去掉。查阅了相关文档和资料没有接口或者相关方法解决,最后正能删除RongCloud.bundle资源图片。而分割线的样式只能利用tableview的headView进行自定义,到此完美解决。
3.在断网情况下点击消息界面崩溃,出现了崩溃情况,都怀疑是不是融云的sdk有问题,但是冷静想了下,官方的demo能运行正常,那就不应该是sdk的问题,应该是在集成的过程中有什么方法没有实现,或者是写错了方法等等,通过对比demo很快就发现了问题所在,设置了receiveMessageDelegate代理,应该实现
/***网络状态变化。*
*@param status网络状态。
*/
- (void)onRCIMConnectionStatusChanged:(RCConnectionStatus)status {
if(status ==ConnectionStatus_KICKED_OFFLINE_BY_OTHER_CLIENT) {
}
}方法。
4.怎么替换头像和昵称,想要把app的头像和昵称替换到消息列表和聊天室,其实融云sdk提供了RCUserInfo类,只需要设置下相关信息就好,要根据不同的业务逻辑去实现相关的设置,实现了相关代码后没有实际的效果,查下下是否是kit和lib混用的结果所致,或者是实现的逻辑有问题。而我的项目中是在app登陆之后会自动发送请求登录融云的服务器,登录成功在发送通知去设置RCUserInfo。
网友评论