跳到主要内容

插入消息

插入单条消息

  • 通过该功能在本地会话中插入一条消息。
  • 插入的消息必须是可存储消息,否则报参数错误异常。
  • 消息插入功能插入的消息仅支持配置会话类型、会话 ID、频道 ID、消息的发送方向、消息的发送时间以及各类消息独有的可访问属性。
  • 默认不配置的情况下插入的是一条发送方已经发送成功的消息

方法

int insertMessage(RCIMMessage message)

参数说明

参数名参数类型描述
messageRCIMMessage已存入数据库的 message 对象

返回值

返回值描述
int当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

RCIMTextMessage textMessage = engine.createTextMessage(
conversationType,
targetId,
channelId,
"这是一条插入的消息"
);

// 可以修改 message 的部分属性,包括会话类型、会话 ID、频道 ID、消息的发送方向、消息的发送时间以及各类消息独有的可访问属性。
textMessage.direction = RCIMMessageDirection.receive;
textMessage.receivedStatus = RCIMReceivedStatus.unread;

int code = engine.insertMessage(textMessage);

回调方法

  • onMessageInserted

    接口调用结果的监听

delegate void OnMessageInsertedDelegate(int code, RCIMMessage message);

OnMessageInsertedDelegate onMessageInserted;

参数说明

参数名参数类型描述
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
messageRCIMMessage已存入数据库的 message 对象

代码示例

engine.onMessageInserted = delegate(int code,RCIMMessage message)
{

};

插入多条消息

  • 通过该功能在本地会话中插入多条消息。
  • 插入的消息必须是可存储消息,否则报参数错误异常。
  • 消息插入功能插入的消息仅支持配置会话类型、会话 ID、频道 ID、消息的发送方向、消息的发送时间以及各类消息独有的可访问属性。
  • 默认不配置的情况下插入的是一条发送方已经发送成功的消息
  • 建议每次最多传入 10 条,当有一条失败时,所有的消息都会插入失败

方法

int insertMessages(List<RCIMMessage> messages)

参数说明

参数名参数类型描述
messagesList<RCIMMessage>已存入数据库的 message 对象

返回值

返回值描述
int当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

RCIMTextMessage textMessage = engine.createTextMessage(
conversationType,
targetId,
channelId,
"这是一条插入的消息-01"
);
RCIMTextMessage textMessage1 = engine.createTextMessage(
conversationType,
targetId,
channelId,
"这是一条插入的消息-02"
);

List<RCIMMessage> messages=new List<RCIMMessage>();
messages.Add(textMessage);
messages.Add(textMessage1);
int code = engine.insertMessages(messages);

回调方法

  • onMessagesInserted

    接口调用结果的监听

delegate void OnMessagesInsertedDelegate(int code, List<RCIMMessage> messages);

OnMessagesInsertedDelegate onMessagesInserted;

参数说明

参数名参数类型描述
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
messagesList<RCIMMessage>已存入数据库的 message 对象

代码示例

engine.onMessagesInserted = delegate(int code,List<RCIMMessage> messages)
{

};