插入消息
插入单条消息
- 通过该功能在本地会话中插入一条消息。
- 插入的消息必须是可存储消息,否则报参数错误异常。
- 消息插入功能插入的消息仅支持配置会话类型、会话 ID、频道 ID、消息的发送方向、消息的发送时间以及各类消息独有的可访问属性。
- 默认不配置的情况下插入的是一条发送方的已经发送成功的消息
方法
int insertMessage(RCIMMessage message)
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
message | RCIMMessage | 已存入数据库的 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;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
code | int | 接口回调的状态码,0 代表成功,非 0 代表出现异常 |
message | RCIMMessage | 已存入数据库的 message 对象 |
代码示例
engine.onMessageInserted = delegate(int code,RCIMMessage message)
{
};
插入多条消息
- 通过该功能在本地会话中插入多条消息。
- 插入的消息必须是可存储消息,否则报参数错误异常。
- 消息插入功能插入的消息仅支持配置会话类型、会话 ID、频道 ID、消息的发送方向、消息的发送时间以及各类消息独有的可访问属性。
- 默认不配置的情况下插入的是一条发送方的已经发送成功的消息
- 建议每次最多传入 10 条,当有一条失败时,所有的消息都会插入失败
方法
int insertMessages(List<RCIMMessage> messages)
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
messages | List<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;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
code | int | 接口回调的状态码,0 代表成功,非 0 代表出现异常 |
messages | List<RCIMMessage> | 已存入数据库的 message 对象 |
代码示例
engine.onMessagesInserted = delegate(int code,List<RCIMMessage> messages)
{
};