sendMessage method
- @Deprecated("创建消息的 id 参数,待废弃") String? id,
- V2TimMessage? message,
- void onSyncMsgID(
- String msgID
- required String receiver,
- required String groupID,
- MessagePriorityEnum? priority = MessagePriorityEnum.V2TIM_PRIORITY_NORMAL,
- bool onlineUserOnly = false,
- OfflinePushInfo? offlinePushInfo,
- bool isExcludedFromUnreadCount = false,
- bool isExcludedFromLastMessage = false,
- bool? isSupportMessageExtension = false,
- bool? isExcludedFromContentModeration = false,
- bool needReadReceipt = false,
- String? cloudCustomData,
- String? localCustomData,
- bool? isDisableCloudMessagePreHook = false,
- bool? isDisableCloudMessagePostHook = false,
发送消息
message
消息对象,请传入通过 createXXXMessage 返回结果中的消息对象。并且可以设置 message
中的 isExcludedFromUnreadCount/isExcludedFromLastMessage/isSupportMessageExtension/isExcludedFromContentModeration/needReadReceipt/cloudCustomData/localCustomData/isDisableCloudMessagePreHook/isDisableCloudMessagePostHook 等参数,接口中的这些参数无效。
onSyncMsgID
调用接口后会立即生成 msgID 并同步触发该回调(早于 Future 完成),可用于提前展示消息到界面。该 msgID 作为消息唯一标识。
id
待废弃 创建消息 id。请直接传入通过 createXXXMessage 返回的消息对象给 message
参数。
receiver
消息接收者的 userID, 如果是发送 C2C 单聊消息,只需要指定 receiver 即可。
groupID
目标群组 ID,如果是发送群聊消息,只需要指定 groupID 即可。
priority
消息优先级,仅针对群聊消息有效。请把重要消息设置为高优先级(比如红包、礼物消息),高频且不重要的消息设置为低优先级(比如点赞消息)。
onlineUserOnly
是否只有在线用户才能收到,如果设置为 true ,接收方历史消息拉取不到,常被用于实现“对方正在输入”或群组里的非重要提示等弱提示功能,该字段不支持 AVChatRoom。
offlinePushInfo
离线推送时携带的标题和内容。
Implementation
Future<V2TimValueCallback<V2TimMessage>> sendMessage({
@Deprecated("创建消息的 id 参数,待废弃")
String? id, // 创建消息的 id,待废弃。请直接传入通过 createXXXMessage 返回的消息对象给 [message] 参数。
V2TimMessage? message,
void Function(String msgID)? onSyncMsgID,
required String receiver,
required String groupID,
MessagePriorityEnum? priority = MessagePriorityEnum.V2TIM_PRIORITY_NORMAL,
bool onlineUserOnly = false,
OfflinePushInfo? offlinePushInfo,
bool isExcludedFromUnreadCount = false,
bool isExcludedFromLastMessage = false,
bool? isSupportMessageExtension = false,
bool? isExcludedFromContentModeration = false,
bool needReadReceipt = false,
String? cloudCustomData, // 云自定义消息字段,只能在消息发送前添加
String? localCustomData,
bool? isDisableCloudMessagePreHook = false,
bool? isDisableCloudMessagePostHook = false,
}) async {
if (kIsWeb) {
return TencentCloudChatSdkPlatform.instance.sendMessage(
id: id,
receiver: receiver,
groupID: groupID,
priority: priority!.index,
onlineUserOnly: onlineUserOnly,
isExcludedFromUnreadCount: isExcludedFromUnreadCount,
isExcludedFromLastMessage: isExcludedFromLastMessage,
isSupportMessageExtension: isSupportMessageExtension,
isExcludedFromContentModeration: isExcludedFromContentModeration,
offlinePushInfo: offlinePushInfo?.toJson(),
localCustomData: localCustomData,
needReadReceipt: needReadReceipt,
cloudCustomData: cloudCustomData,
// isDisableCloudMessagePreHook: isDisableCloudMessagePreHook,
// isDisableCloudMessagePostHook: isDisableCloudMessagePostHook,
);
}
return TIMMessageManager.instance.sendMessage(
id: id,
message: message,
onSyncMsgID: onSyncMsgID,
receiver: receiver,
groupID: groupID,
priority: priority!.index,
onlineUserOnly: onlineUserOnly,
isExcludedFromUnreadCount: isExcludedFromUnreadCount,
isExcludedFromLastMessage: isExcludedFromLastMessage,
isSupportMessageExtension: isSupportMessageExtension,
isExcludedFromContentModeration: isExcludedFromContentModeration,
offlinePushInfo: offlinePushInfo,
localCustomData: localCustomData,
needReadReceipt: needReadReceipt,
cloudCustomData: cloudCustomData,
isDisableCloudMessagePreHook: isDisableCloudMessagePreHook,
isDisableCloudMessagePostHook: isDisableCloudMessagePostHook,
);
}