Skip to main content

Create a MergeMessage, then send it using the sendMessage API.

MergeMessage Structure

NameTypeDescriptionVersion
titleStringTitle of the merged message1.0.0
conversationConversationConversation identifier. All merged messages must come from the same conversation.1.0.0
messageIdListListList of merged message IDs. It cannot exceed 100 items.1.0.0
previewListListList of merged messages previewed in the message bubble. It cannot exceed 10 items.1.0.0

Code Example

// conversation containing the messages to merge
Conversation srcConversation = 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", srcConversation, messageIdList, previewList);

// target conversation to forward to
Conversation dstConversation = new Conversation(Conversation.ConversationType.GROUP, "groupid1");
Message m = JIM.getInstance().getMessageManager().sendMessage(merge, dstConversation, new IMessageManager.ISendMessageCallback() {
@Override
public void onSuccess(Message message) {
}

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

Get Merged Message List

/**
* get the list of merged messages
* @param containerMsgId merged-message ID
* @param callback result callback
*/
void getMergedMessageList(String containerMsgId,
IGetMessagesCallback callback);