之前的项目因为用户信息以及好友关系是由服务器管理的,所以在开发的时候用户的头像以及用户的昵称是放在服务器中管理的。
我的环信版本是最新的V3.2版本,其他的版本暂且未知,不过我想模式应该八九不离十.
如果头像跟昵称放在服务器管理,那么显示的就不符合需求了
其实要修改成自己定义的头像或者昵称很简单。我们只要创建一个控制器继承EaseMessageViewController.h,并在自定义的控制器中重写指定方法就可以实现头像和昵称的控制.另外即使头像的路径是在服务器上的,也是可以的.
ios.重新打开环信聊天页面时,一开始没有头像,等发送了一条信息后,头像才正常显示出来...求解决
最近项目结束了很无聊,想起一直看别人的技术贴自己还不曾写过什么东西,就打算写篇文章。思前想后觉得本人没啥技术(诶、、、这才是真正的码农Y(^_^)Y)但是又想写点什么。所以就把集成环信遇到的一些问题写出来和大家分享。
下面开始 思路有点混乱(毕竟是菜鸡、、、)大家见谅
在EaseChatBarMoreView.m中你就可以看到相关的代码(命名很直白相信小伙伴们都能看的明白)
EMContactManagerDelegate这个代理方法中有各种监听的方法即看即用(别忘了遵守协议0哦)。最好的跟控制器写。
在获取当前有几个好友请求通知的时候可能或出现问题如下方法即可()
解决很简单就是在软件进入后台、进入前台中不要操作环信的方法。目前我去掉没什么影响
当时我就是按照环信文档写的,这个比较坑。
这个要和实时监听收到消息的监听方法一起用 是在EMChatManagerDelegate代理方法中
环信的推送分为俩种,本地推送、离线推送。集成环信后,当app推到后台没被杀死的时候,接收消息会走本地推送,很多开发者误以为这时候走APNs,其实这时候app长连接未断开,调用苹果的本地通知即可。
APNs参考开发文档即可,
做好推送了你会发现收到的推送消息是”您有一条新消息“而不是我们想要显示的消息内容,设置如下即可
* 当前登录账号在其它设备登录时会接收到该回调
在创建群组后再会话列表看到的可能是此群组的ID并不是群组的名称。
//设置群组的会话名称
环信并未保存用户的头像、昵称所以这里要我们自己处理,相信支持各位看官看下来的动力(了解如何设置用户头像、昵称)就是这个吧。
环信为我们提供了俩种解决方案并详细的说明了各自的优缺点。这里我使用的是方法一:从APP服务器获取昵称和头像
使用这种办法的必要条件是自己用户体系的某个字段(可以标识用户的唯一性)必须与环信的用户id保持一致。这样我们才能拿到该用户存在在我们服务器上的昵称、头像及各种信息。
为了节省用户的流量我们应该做一个本地数据库,获取环信用户id现在本地数据库查询,有即使用、无即下载保存本地数据库在使用。
说了辣么多废话,下面我们来点实际的
a、设置会话列表单聊的头像、名称
//数据库查询数据赋值
b、设置聊天界面(单聊、群聊)的头像、昵称
//消息来自哪个人 用这个id查询数据困
注:如果完成后如果出现用A号跟B号聊天 什么都正常,但是换C号,D号跟B号聊天显示的都是A号的名、聊天记录都是A,B的话。极有可能就是用户退出的时候在环信的服务上没有正常的退出,在用户退出的时候点用环信的退出即可
本人菜鸡一个写下这个:一是为了帮助像我这样的小白。二是好记性不如烂笔头(烂笔头都买不起)就写在这里。有什么不对的请指教!勿喷!!!