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