sendMergerMessage method
- @Deprecated('sendMergerMessage自3.6.0开始弃用,我们将创建消息与发送消息分离,请先使用createMergerMessage创建消息,再调用sendMessage发送消息')
- required List<
String> msgIDList, - required String title,
- required List<
String> abstractList, - required String compatibleText,
- required String receiver,
- required String groupID,
- MessagePriorityEnum priority = MessagePriorityEnum.V2TIM_PRIORITY_NORMAL,
- bool onlineUserOnly = false,
- bool isExcludedFromUnreadCount = false,
- OfflinePushInfo? offlinePushInfo,
- List<
String> ? webMessageInstanceList,
合并消息
我们在收到一条合并消息的时候,通常会在聊天界面这样显示:
|vinson 和 lynx 的聊天记录 | – title (标题)
|vinson:新版本 SDK 计划什么时候上线呢? | – abstract1 (摘要信息1)
|lynx:计划下周一,具体时间要看下这两天的系统测试情况.. | – abstract2 (摘要信息2)
|vinson:好的. | – abstract3 (摘要信息3)
聊天界面通常只会展示合并消息的标题和摘要信息,完整的转发消息列表,需要用户主动点击转发消息 UI 后再获取。
多条被转发的消息可以被创建成一条合并消息 V2TIMMessage,然后调用 sendMessage 接口发送,实现步骤如下:
-
调用 createMergerMessage 创建一条合并消息 V2TIMMessage。
-
调用 sendMessage 发送转发消息 V2TIMMessage。
收到合并消息解析步骤:
-
通过 V2TIMMessage 获取 mergerElem。
-
通过 mergerElem 获取 title 和 abstractList UI 展示。
-
当用户点击摘要信息 UI 的时候,调用 downloadMessageList 接口获取转发消息列表。
注意
web 端使用时必须传入webMessageInstanceList 字段。 在web端返回的消息实例会包含该字段
Implementation
@Deprecated(
'sendMergerMessage自3.6.0开始弃用,我们将创建消息与发送消息分离,请先使用createMergerMessage创建消息,再调用sendMessage发送消息')
Future<V2TimValueCallback<V2TimMessage>> sendMergerMessage(
{required List<String> msgIDList,
required String title,
required List<String> abstractList,
required String compatibleText,
required String receiver,
required String groupID,
MessagePriorityEnum priority = MessagePriorityEnum.V2TIM_PRIORITY_NORMAL,
bool onlineUserOnly = false,
bool isExcludedFromUnreadCount = false,
OfflinePushInfo? offlinePushInfo,
List<String>? webMessageInstanceList}) async {
return await ImFlutterPlatform.instance.sendMergerMessage(
msgIDList: msgIDList,
title: title,
abstractList: abstractList,
compatibleText: compatibleText,
receiver: receiver,
groupID: groupID,
priority: priority.index,
onlineUserOnly: onlineUserOnly,
isExcludedFromUnreadCount: isExcludedFromUnreadCount,
offlinePushInfo: offlinePushInfo?.toJson(),
webMessageInstanceList: webMessageInstanceList);
}