sendMessage

功能介绍

发送消息

6.0 及以上版本支持 groupID 和 receiver 同时设置,如果同时设置,表示在群内给 receiver 发送定向消息,如果需要给多个 receiver 发送定向消息,请先调用 createTargetedGroupMessage 接口创建定向消息,再调用 sendMessage 接口发送。

设置 offlinePushInfo 字段,需要先在 V2TIMOfflinePushManager 开启推送,推送开启后,除了自定义消息,其他消息默认都会推送。

如果自定义消息也需要推送,请设置 offlinePushInfo 的 desc 字段,设置成功后,推送的时候会默认展示 desc 信息。

AVChatRoom 群聊不支持 onlineUserOnly 字段,如果是 AVChatRoom 请将该字段设置为 false。

如果设置 onlineUserOnly 为 true 时,该消息为在线消息且不会被计入未读计数。

发送文本消息

发送自定义消息

发送富媒体消息

合并转发

实现“对方正在输入”功能

群 @ 消息

群定向消息

发送不更新 lastMessage 的消息

设置只能给好友发消息

参数详解

参数名称 参数类型 是否必填 描述
id string 创建消息返回的id 参数为传入参数对象的参数
receiver string 单聊消息接收者 userID。如果是单聊消息,必传。 参数为传入参数对象的参数
groupID string 群聊 groupID。如果是群聊消息,必传。参数为传入参数对象的参数
priority MessagePriorityEnum 消息优先级 参数为传入参数对象的参数
onlineUserOnly boolean 是否只有在线用户才能收到 参数为传入参数对象的参数
offlinePushInfo V2TimOfflinePushInfo 离线推送信息 参数为传入参数对象的参数
needReadReceipt boolean 消息是否需要已读回执 参数为传入参数对象的参数
isExcludedFromUnreadCount boolean 发送消息是否计入会话未读数 参数为传入参数对象的参数
isExcludedFromLastMessage boolean 发送消息是否计入会话 lastMessage 参数为传入参数对象的参数
isSupportMessageExtension boolean 发送消息是否支持消息扩展 lastMessage 参数为传入参数对象的参数
cloudCustomData string 消息云端数据 参数为传入参数对象的参数
localCustomData string 消息本地数据 参数为传入参数对象的参数

返回模板

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
    }
}

返回值详解

名称 数值类型 描述
code number 请求结果错误码
desc string 请求结果描述
data V2TimMessage 发送的信息

代码示例

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;
    // 发送文本消息
    // 在sendMessage时,若只填写receiver则发个人用户单聊消息
    //                 若只填写groupID则发群组消息
    //                 若填写了receiver与groupID则发群内的个人用户,消息在群聊中显示,只有指定receiver能看见
    const sendMessageRes = await TencentImSDKPlugin.v2TIMManager
        .getMessageManager()
        .sendMessage({
            id: id!, // 创建的messageid
            receiver: 'userID', // 接收人id
            groupID: 'groupID', // 接收群组id
            priority: MessagePriorityEnum.V2TIM_PRIORITY_DEFAULT, // 消息优先级
            onlineUserOnly: false, // 是否只有在线用户才能收到,如果设置为 true ,接收方历史消息拉取不到,常被用于实现“对方正在输入”或群组里的非重要提示等弱提示功能,该字段不支持 AVChatRoom。
            isExcludedFromUnreadCount: false, // 发送消息是否计入会话未读数
            isExcludedFromLastMessage: false, // 发送消息是否计入会话 lastMessage
            needReadReceipt: false, // 消息是否需要已读回执(只有 Group 消息有效,6.1 及以上版本支持,需要您购买旗舰版套餐)
            offlinePushInfo: {}, // 离线推送时携带的标题和内容
            cloudCustomData: '', // 消息云端数据,消息附带的额外的数据,存云端,消息的接受者可以访问到
            localCustomData: '', // 消息本地数据,消息附带的额外的数据,存本地,消息的接受者不可以访问到,App 卸载后数据丢失
        });
    if (sendMessageRes.code === 0) {
        // 发送成功
    }
}

results matching ""

    No results matching ""