关于集成环信的一些经验

公司的项目已经接近尾声了,现在每天就是修改一些出现的BUG,闲来无事的时候,就想着这段时间集成环信遇到了很多问题,把这些问题记录下来,或许以后还会用到。


由于公司要求发红包,转账等功能需要和自己后台相联系,于是就没有使用环信的红包,而是自己写的发红包,抢红包,转账等功能。刚开始的时候没有什么思路,不知道发红包,转账是怎么个逻辑,于是就着重研究了环信的文档。其实就是自定义聊天的cell,各种cell都需要自己去写



这个代理方法里面就是专门可以自定义各种你需要的cell,我这里自定义了有10中cell。这里我只是发出来发红包的一种cell,通过环信发送扩展消息ext里面的字段来判断是什么消息。我这里的sign就是和安卓那边商量统一的字段来区分消息的type。messageModel.isSender是发送方,接收方和发送方是不同的cell。这几种cell中红包cell和转账cell是最复杂的,因为接收方接收了红包,发送方这边就得立即刷新cell为已经接收了红包的样式,也就是有一层蒙层表示已经接收了,并且还要发送一条已经接收红包的消息。转账也是一样。这个只是cell的样式,还有cell的高度怎么样控制呢?这就需要另外一个代理方法了如下:


我这里cell的样式比较多,各种高度也不一样,所以看起来比较乱。如果只是这样还不行,得去修改EaseMessageViewController这个类中的


这样你的自定义cell就可以展现出来了。这只是自定义cell的一点心得,如果有更好的心得,我会虚心请教的。

集成环信还有一个最重要的环节,就是头像昵称的展示,因为环信的后台不给你保存昵称,备注,头像的,你只能从自己的后台请求接口获取。如果是单聊的话这个就好获取,直接从会话列表可以获取到再传进来,但是如果是群聊的话,就不那么好了,因为如果是很多人一起聊天,那你每次都需要从后台获取当前人的头像昵称,这样太慢了,也太耗时了。那要怎样做才最好呢?

我是通过发送信息的时候,发送一个带ext的扩展消息,把自己的头像放到ext中,当需要展示的时候,直接从ext里面去就好了。


先把头像昵称等信息存放到数据库中,再通过每个人的用户id来取出每个人的头像和昵称,这样就大功告成啦。

这些只是环信集成的时候一点点心得记录下来,如果你们有更好的建议或想要咨询我的可以给我留言,我会虚心请教的,毕竟本人也只是小白一枚。我的qq: 404394980  

你可能感兴趣的:(关于集成环信的一些经验)