createMergerMessage method

Future<V2TimValueCallback<V2TimMsgCreateInfoResult>> createMergerMessage({
  1. List<V2TimMessage>? messageList,
  2. List<String>? msgIDList,
  3. required String title,
  4. required List<String> abstractList,
  5. required String compatibleText,
})

创建合并消息

messageList 消息列表(最大支持 300 条,消息对象必须是 V2TIM_MSG_STATUS_SEND_SUCC 状态,消息类型不能为 V2TIMGroupTipsElem)。

msgIDList 消息 ID 列表,待废弃,请使用 messageList 参数。

title 合并消息的来源,比如 "vinson 和 lynx 的聊天记录"、"xxx 群聊的聊天记录"。

abstractList 合并消息的摘要列表(最大支持 5 条摘要,每条摘要的最大长度不超过 100 个字符),不同的消息类型可以设置不同的摘要信息,比如: 文本消息可以设置为:sender:text,图片消息可以设置为:sender:图片,文件消息可以设置为:sender:文件

compatibleText 合并消息兼容文本,低版本 SDK 如果不支持合并消息,默认会收到一条文本消息,文本消息的内容为 compatibleText, 该参数不能为 null。

备注:

多条被转发的消息可以被创建成一条合并消息 V2TIMMessage,然后调用 sendMessage 接口发送,实现步骤如下:
1. 调用 createMergerMessage 创建一条合并消息 V2TIMMessage。
2. 调用 sendMessage 发送转发消息 V2TIMMessage。
收到合并消息解析步骤:
1. 通过 V2TIMMessage 获取 mergerElem。
2. 通过 mergerElem 获取 title 和 abstractList UI 展示。
3. 当用户点击摘要信息 UI 的时候,调用 downloadMessageList 接口获取转发消息列表。

Implementation

Future<V2TimValueCallback<V2TimMsgCreateInfoResult>> createMergerMessage({
  List<V2TimMessage>? messageList,
  List<String>? msgIDList,
  required String title,
  required List<String> abstractList,
  required String compatibleText,
}) async {
  if (kIsWeb) {
    return TencentCloudChatSdkPlatform.instance.createMergerMessage(
        msgIDList: msgIDList,
        title: title,
        abstractList: abstractList,
        compatibleText: compatibleText);
  }

  if (messageList != null && messageList.isNotEmpty)  {
    return TIMMessageManager.instance.createMergerMessageWithMessageList(
        msgList: messageList,
        title: title,
        abstractList: abstractList,
        compatibleText: compatibleText);
  } else {
    return TIMMessageManager.instance.createMergerMessage(
        msgIDList: msgIDList ?? [],
        title: title,
        abstractList: abstractList,
        compatibleText: compatibleText
    );
  }
}