如何在发送的消息中携带用户信息?

使用 IMKit :

  1. 设置当前 userId 对应的用户信息。

RCIM.h 类中

/*!
 当前登录的用户的用户信息
 
 @discussion 与融云服务器建立连接之后,应该设置当前用户的用户信息,用于 SDK 显示和发送。
 */
@property(nonatomic, strong) RCUserInfo *currentUserInfo;
  1. 设置发送消息时在消息体中携带用户信息。
/*!
 是否在发送的所有消息中携带当前登录的用户信息,默认值为 NO
 
 @discussion 如果设置为 YES,则会在每一条发送的消息中携带当前登录用户的用户信息。从 2.4.1 之后附加用户信息之后 cell 默认会显示附加的用户信息的头像,即用户信息不会取用户信息提供者里提供的用户信息
 需要先设置当前登录用户的用户信息,参考 RCIM 的 currentUserInfo。
 */
@property(nonatomic, assign) BOOL enableMessageAttachUserInfo;

接收方会自动获取该用户信息并显示。

使用 IMLib:

在构造消息体时设置其用户信息属性:

/// 消息内容中携带的发送者的用户信息
///
/// 如果您使用 IMKit,可以通过 RCIM 的 enableMessageAttachUserInfo 属性设置在每次发送消息中携带发送者的用户信息。
@property (nonatomic, strong, nullable) RCUserInfo *senderUserInfo;

需要注意:
因为在每条消息体中携带用户信息,会增加网络流量,建议使用在一些低频率的交互场景中才开启,其余使用用户信息提供者和群组信息提供者即可,比如两个用户之间只需要发送一两条消息、聊天室等。