基于上次那篇有关环信的个人集成方法被环信周刊官方收录以后,一直没有再写环信相关知识.
今天我将在这继续写一下关于环信获取用户头像和昵称的方法.环信官方文档里面有两种方法,
1:通过自己后台根据用户ID获取用户头像,在聊天页面或者最近联系人界面去请求后台获取相关数据;(这个方法我在上篇文章已经有讲到)
2.通过扩展消息显示头像,昵称
今天呢,就第二种方法写下自己怎么使用的(第二种方法相比较第一种的好处就是不用在相关页面去请求自己后台数据,流畅度也会更高)
首先:
然后在EaseMessageViewController.m中的
同理在以下方法中将_ext添加上去
- -(void)sendTextMessage:(NSString )text withExt:(NSDictionary)ext;
- -(void)sendLocationMessageLatitude:(double)latitud longitude:(double)longitude andAddress:(NSString *)address;
- -(void)sendImageMessageWithData:(NSData *)imageData;
- -(void)sendImageMessage:(UIImage *)image;
- -(void)sendVoiceMessageWithLocalPath:(NSString *)localPath duration:(NSInteger)duration;
- -(void)sendVideoMessageWithURL:(NSURL *)url;
这就实现了用户发送时将扩展消息发送出去了
然后在
这就实现了获得对方的昵称和头像(此时不管对方是否给自己发信息,因为这个字段是你自己传入的)
我的聊天页面继承于EaseMessageViewController,所以在进入聊天界面时,要将_ext赋值
此时聊天页面就会显示昵称和头像了
值得说的是
通过获取最近联系人的方法,然后赋值,这个时候有个问题就是假如你给对方聊天,对方没有回复你,这个时候获取不到对方的昵称和头像,没有办法赋值,
但是但是但是--------------------神秘的分割线---------------------------
经过以上环节的配置后,即便对方没有回消息,你也能在最近联系人列表获取对方的昵称和头像(原因是,进入聊天页面时你就已经把对方的昵称和头像放到了扩展消息里面了).
好了,如果有不懂的,可以在评论中提出来,我将一一解答!