环信聊天,最近联系人时通过扩展消息显示头像,昵称

聊天时要显示用户的头像,昵称我们可以使用扩展消息来实现

1,在环信EaseMessageViewController类里找到,在发送消息的时候加上扩展消息

- (void)sendTextMessage:(NSString *)text

- (void)sendLocationMessageLatitude:(double)latitude

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

在这几个方法里加上:

NSDictionary * ext=@{@"fromNickname":NickName,@"fromAvatar":Portrait,@"toNickname":self.chatNickname,@"toAvatar":self.portrait};//fromNickname当前用户的昵称;fromAvatar当前用户头像;(toNickname对方昵称;toAvatar对方头像)括号里参数是用来显示最近联系人时用的


2,显示头像,昵称时 在EaseBaseMessageCell 找到

- (void)setModel:(id)model

将原来显示头像,昵称的地方换成

if (model.message.ext[@"fromAvatar"]) {

[self.avatarView sd_setImageWithURL:[NSURL URLWithString:model.message.ext[@"fromAvatar"]] placeholderImage:defaultImage120];

} else {

self.avatarView.image = defaultImage120;

}

_nameLabel.text = model.message.ext[@"fromNickname"];


以上聊天时,就能显示双方头像了


3,最近联系人列表那边显示头像,昵称

找到EaseConversationCell

- (void)setModel:(id)model

将原来昵称,头像换成

NSLog(@"%@",_model.conversation.latestMessageFromOthers.ext);//获取最近发送者的扩展消息

NSLog(@"%@",_model.conversation.latestMessage.ext);//获取最新一条消息的扩展消息



if ([_model.conversation.latestMessageFromOthers.ext[@"fromNickname"] length] > 0) {

self.titleLabel.text = model.conversation.latestMessageFromOthers.ext[@"fromNickname"];

}//对方发来的最新一条消息

else{

self.titleLabel.text = model.conversation.latestMessage.ext[@"toNickname"];

}////如果你发送消息,对方没有回复

if (self.showAvatar)

{

if ([_model.conversation.latestMessageFromOthers.ext[@"fromAvatar"] length] > 0)

{

[self.avatarView.imageView sd_setImageWithURL:[NSURL URLWithString:_model.conversation.latestMessageFromOthers.ext[@"fromAvatar"]] placeholderImage:defaultImage120];

} //对方发来的最新一条消息

else

{

[self.avatarView.imageView sd_setImageWithURL:[NSURL URLWithString:_model.conversation.latestMessage.ext[@"toAvatar"]] placeholderImage:defaultImage120];

}////如果你发送消息,对方没有回复

}

以上最近联系人列表就能显示头像和昵称了


注:如果要使用扩展消息来获取用户的头像和昵称,安卓和iOS要统一下 【fromNickname当前用户的昵称;fromAvatar当前用户头像;(toNickname对方昵称;toAvatar对方头像)括号里参数是用来显示最近联系人时用的】这些参数,要不然不统一会有一方收不到头像,昵称

你可能感兴趣的:(环信聊天,最近联系人时通过扩展消息显示头像,昵称)