sendMessage
Introduction
send a message
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 | Description |
---|---|---|---|
id | string | yes | ID returned after message creation. It needs to be first created through the createXxxMessage API. |
receiver | string | no | userID of the one-to-one message receiver. Just specify receiver for sending one-to-one chat messages. |
groupID | string | no | groupID of the group chat. Just specify groupID for sending group messages. |
priority | MessagePriorityEnum | no | 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 | boolean | no | 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 | V2TimOfflinePushInfo | no | Offline push information. The title, body and external content carried and shown when a message is pushed offline. |
needReadReceipt | boolean | no | Whether a read receipt is supported for the sent group message. |
isExcludedFromUnreadCount | boolean | no | 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 | boolean | no | 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 . |
isSupportMessageExtension | boolean | no | Whether the sent message supports extension. |
cloudCustomData | string | no | Cloud message data. Extra data of the message that is stored in the cloud and can be accessed by the receiver. |
localCustomData | string | no | 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 : number
desc : string
data : {
msgID: string
timestamp: number
progress: number
sender: string
nickName: string
friendRemark: string
faceUrl: string
nameCard: string
groupID: string
userID: string
status: number
elemType: number
textElem: V2TimTextElem
customElem: V2TimCustomElem
imageElem: V2TimImageElem
soundElem: V2TimSoundElem
videoElem: V2TimVideoElem
fileElem: V2TimFileElem
locationElem: V2TimLocationElem
faceElem: V2TimFaceElem
groupTipsElem: V2TimGroupTipsElem
mergerElem: V2TimMergerElem
localCustomData: string
localCustomInt: number
cloudCustomData: string
isSelf: boolean
isRead: boolean
isPeerRead: boolean
priority: number
offlinePushInfo: V2TimOfflinePushInfo
groupAtUserList: string[]
seq: string
random: number
isExcludedFromUnreadCount: boolean
isExcludedFromLastMessage: boolean
id: string
needReadReceipt: boolean
}
}
Return value details
name | type | description |
---|---|---|
code | number | Request result: Error codes. 0 means success. |
desc | string | The description of the error. It will be empty if success. |
data | V2TimMessage | The message sent. |
Code example
import { TencentImSDKPlugin, MessagePriorityEnum } from 'react-native-tim-js';
const createTextMessageRes = await TencentImSDKPlugin.v2TIMManager
.getMessageManager()
.createTextMessage(
'test'
);
if (createTextMessageRes.code == 0) {
const id = createTextMessageRes.data?.id;
const 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: {},
cloudCustomData: '',
localCustomData: '',
});
if (sendMessageRes.code === 0) {
}
}