sendMessage
Introduction
Send a message been created.
The method for sending a message is in the core class TencentImSDKPlugin.v2TIMManager.getMessageManager().
It supports sending text, custom, and rich media messages, and all of which belong to the V2TimMessage type.
V2TimMessage can contain different sub-types to indicate different types of messages.
Parameter details
| Parameter name | Parameter type | Required | Platform | Description |
|---|---|---|---|---|
| id | String | yes | All | ID returned after message creation. It needs to be first created through the createXxxMessage API. |
| receiver | String | no | All | userID of the one-to-one message receiver. Just specify receiver for sending one-to-one chat messages. |
| groupID | String | no | All | groupID of the group chat. Just specify groupID for sending group messages. |
| priority | MessagePriorityEnum | no | All | Message priority. Set a higher priority for important messages (such as red packets and gifts) and a lower priority for frequent and unimportant messages (such as likes). |
| onlineUserOnly | bool | no | All | Whether the message can be received by online users only. If it is set to true, the message cannot be loaded when a receiver loading historical messages. This is often used to implement weak prompts, such as "The other party is typing..." and unimportant prompts in a group. |
| offlinePushInfo | OfflinePushInfo | no | All | Offline push information. The title, body and external content carried and shown when a message is pushed offline. |
| needReadReceipt | bool | no | All | Whether a read receipt is supported for the sent group message. |
| isExcludedFromUnreadCount | bool | no | All | Whether the sent message is counted as the unread message of the conversation. If it is set to true, the sent message is not counted as the unread message of the conversation. It defaults to false. |
| isExcludedFromLastMessage | bool | no | All | Whether the sent message is included in the lastMessage of the conversation. If it is set to true, the sent message is not included in the lastMessage of the conversation. It defaults to false. |
| isSupportMessageExtension | boolean | no | All | Whether the sent message supports extension. |
| cloudCustomData | String | no | All | Cloud message data. Extra data of the message that is stored in the cloud and can be accessed by the receiver. |
| localCustomData | String | no | All | Local message data. Extra data of the message that is stored locally. It cannot be accessed by the receiver and will be lost after the application is uninstalled. |
Returned template
V2TimValueCallback<V2TimMessage>
{
code : int
desc : String
data : {
cloudCustomData : String
customElem : V2TimCustomElem
elemType : int
faceElem : V2TimFaceElem
faceUrl : String
fileElem : V2TimFileElem
friendRemark : String
groupAtUserList : List<String>
groupID : String
groupTipsElem : V2TimGroupTipsElem
id : String
imageElem : V2TimImageElem
isExcludedFromLastMessage : bool
isExcludedFromUnreadCount : bool
isPeerRead : bool
isRead : bool
isSelf : bool
localCustomData : String
localCustomInt : int
locationElem : V2TimLocationElem
mergerElem : V2TimMergerElem
messageFromWeb : String
msgID : String
nameCard : String
needReadReceipt : bool
nickName : String
offlinePushInfo : V2TimOfflinePushInfo
priority : int
progress : int
random : int
sender : String
seq : String
soundElem : V2TimSoundElem
status : int
textElem : V2TimTextElem
timestamp : int
userID : String
videoElem : V2TimVideoElem
}
}
Return value details
| name | type | description |
|---|---|---|
| code | int | Request result: Error codes. 0 means success. |
| desc | String | The description of the failure. |
| data | V2TimMessage | The message sent. |
Code example
V2TimValueCallback<V2TimMsgCreateInfoResult> createTextMessageRes =
await TencentImSDKPlugin.v2TIMManager
.getMessageManager()
.createTextMessage(
text: "test",
);
if (createTextMessageRes.code == 0) {
String? id = createTextMessageRes.data?.id;
V2TimValueCallback<V2TimMessage> sendMessageRes =
await TencentImSDKPlugin.v2TIMManager.getMessageManager().sendMessage(
id: id!,
receiver: "userID",
groupID: "groupID",
priority: MessagePriorityEnum.V2TIM_PRIORITY_DEFAULT,
onlineUserOnly:
false,
isExcludedFromUnreadCount: false,
isExcludedFromLastMessage: false,
needReadReceipt:
false,
offlinePushInfo: OfflinePushInfo(),
cloudCustomData: "",
localCustomData:
""
);
if (sendMessageRes.code == 0) {
}
}