Skip to main content

先构建 MergeMessage,再使用 sendMessage 接口发送。

MergeMessage 结构

名称类型描述版本
titleString合并消息的标题1.0.0
conversationConversation会话标识,所有被合并的消息必须来自同一会话1.0.0
messageIdListList<String>所有被合并的消息 id 列表,不能超过 100 条1.0.0
previewListList<MergeMessagePreviewUnit>消息气泡上用来预览的被合并消息列表,不能超过 10 条1.0.0

示例代码

Conversation conversation = new Conversation(Conversation.ConversationType.PRIVATE, "userid1");

List<String> messageIdList = new ArrayList<>();
messageIdList.add("messageId1");
messageIdList.add("messageId2");
messageIdList.add("messageId3");

List<MergeMessagePreviewUnit> previewList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
MergeMessagePreviewUnit unit = new MergeMessagePreviewUnit();
unit.setPreviewContent("previewContent" + i);
UserInfo userInfo = new UserInfo();
userInfo.setUserId("userId" + i);
userInfo.setUserName("userName" + i);
unit.setSender(userInfo);
previewList.add(unit);
}
MergeMessage merge = new MergeMessage("title", conversation, messageIdList, previewList);

Message m = JIM.getInstance().getMessageManager().sendMessage(merge, conversation, new IMessageManager.ISendMessageCallback() {
@Override
public void onSuccess(Message message) {
}

@Override
public void onError(Message message, int errorCode) {
}
});

获取被合并的消息列表

/**
* 获取被合并的消息列表
* @param containerMsgId 合并消息 id
* @param callback 结果回调
*/
void getMergedMessageList(String containerMsgId,
IGetMessagesCallback callback);