消息类介绍

在腾讯云 IM SDK 中,消息类为 V2TIimessage 。您在发送和接收消息过程中都会频繁地用到该类。

V2TimMessage 类定义了以下内容:

属性 含义 说明
msgID 消息 ID 消息创建的时候为空,调用 sendMessage 的时候同步返回。
timestamp 消息时间戳 消息发送到服务端的时间。可用于消息排序。
sender 消息发送者的 userID 客户自己设置,跟 login 时传入的 userID 一致。
nickName 消息发送者的昵称 客户自己设置。调用 setSelfInfo 设置及修改。详情可参考 用户资料
friendRemark 消息发送者的好友备注 接收方使用。例如 alice 给好友 bob 备注为 "bob01"。当 bob 给 alice 发消息,此时对于 alice 而言,消息中的 friendRemark 为 "bob01"。调用 setFriendInfo 设置。
nameCard 发送者的群名片 仅群聊消息有效。例如 alice 修改自己的群名片为 "doctorA",那么 alice 往群里发送的消息,群成员收到的消息 nameCard 字段值为 "doctorA"。接收者可以将这个字段优先作为用户名称的显示。调用 setGroupMemberInfo 设置。
faceURL 消息发送者头像 客户自己设置的头像 URL,可以通过它下载头像图片。
groupID 群组 ID 群聊消息中 groupID 为群组 ID;单聊消息中 groupID 为 nil。
userID 用户 ID 单聊消息中 userID 为对端用户 ID;群聊消息中 userID 为 nil。
seq 消息序列号 单聊消息的 seq 由本地生成,不能保证严格递增且唯一;群聊消息的 seq 由服务器生成,在当前群里的严格递增且唯一的。
random 消息随机码 SDK 内部生成。
status 消息发送状态 目前支持:发送中、发送成功、发送失败、被删除、导入到本地、被撤销。
isSelf 消息发送者是否是自己 可用于消息筛选。
needReadReceipt 消息是否需要已读回执 发送方设置。6.1 以上版本有效,需要购买旗舰版套餐。详情可参考 已读回执
priority 消息优先级 仅群聊消息有效。通过 sendMessage 接口设置。
groupAtUserList 群消息被 @ 的用户列表 仅群聊消息有效。列表中存储的是 userID。详情可参考 群 @ 消息
elemType 消息类型 目前支持:文本、自定义内容、图片、语音、视频、文件、地理位置、表情、群 tips、合并转发消息。详情可参考 消息分类。
textElem 文本消息存储元素 发送文本消息需要创建并填充该元素;收到消息判断 elemType 为 TEXT 时,可以从 textElem 中解析出内容。详情可参考 发送消息 / 接收消息
customElem 自定义消息存储元素 发送自定义消息需要创建并填充该元素;收到消息判断 elemType 为 CUSTOM 时,可以从 customElem 中解析出内容。
imageElem 图片消息存储元素 发送图片消息需要创建并填充该元素;收到消息判断 elemType 为 IMAGE 时,可以从 imageElem 中解析出内容。
soundElem 语音消息存储元素 发送语音消息需要创建并填充该元素;收到消息判断 elemType 为 SOUND 时,可以从 soundElem 中解析出内容。
videoElem 视频消息存储元素 发送视频消息需要创建并填充该元素;收到消息判断 elemType 为 VIDEO 时,可以从 videoElem 中解析出内容。
fileElem 文件消息存储元素 发送文件消息需要创建并填充该元素;收到消息判断 elemType 为 FILE 时,可以从 fileElem 中解析出内容。
locationElem 地理位置消息存储元素 发送地理位置消息需要创建并填充该元素;收到消息判断 elemType 为 LOCATION 时,可以从 locationElem 中解析出内容。
faceElem 表情消息存储元素 发送地理位置消息需要创建并填充该元素;收到消息判断 elemType 为 FACE 时,可以从 faceElem 中解析出内容。
mergerElem 合并消息存储元素 发送合并位置消息需要创建并填充该元素;收到消息判断 elemType 为 MERGER 时,可以从 mergerElem 中解析出内容。详情可参考 转发消息
groupTipsElem 群 tips 消息存储元素 群 tips 消息目前只能由服务器发送。SDK 收到消息判断 elemType 为 GROUP_TIPS 时,可以从 groupTipsElem 中解析出内容。详情可参考 接收消息
cloudCustomData 消息自定义数据 发送方设置。内容由用户自定义。云端保存,会发送到对端,程序卸载重装后还能拉取到。
isExcludedFromUnreadCount 消息是否不计入会话未读数 发送方设置。默认为需要计入会话未读数。5.3.425 及以上版本支持。
isExcludedFromLastMessage 消息是否不计入会话 lastMsg 发送方设置。默认为需要计入会话 lastMsg。5.4.666 及以上版本支持。
offlinePushInfo 自定义离线推送信息 详情可参考 离线推送
isRead 消息是否本端已读 如果是自己发的消息,默认已读。
isPeerRead 消息是否对端已读 仅单聊消息有效。
localCustomData 消息自定义数据 发送方设置。本地保存,不会发送到对端,程序卸载重装后失效。
localCustomInt 消息自定义数据 发送方设置。本地保存,不会发送到对端,程序卸载重装后失效。可以用来标记语音、视频消息是否已经播放。

消息分类

腾讯云 IM 消息按照消息的发送目标可以分为:“单聊消息”(又称 “C2C 消息”)和“群聊消息” 两种:

消息分类 API 关键词 说明
单聊消息 C2CMessage 又称 C2C 消息,在发送时需要指定消息接收者的 UserID,只有接受者可以收到该消息。
群聊消息 GroupMessage 在发送时需要指定目标群组的 groupID,该群中的所有用户均能收到消息。

按照消息承载的内容可以分为 “文本消息”、“自定义(信令)消息”,“图片消息”、“视频消息”、“语音消息”、“文件消息”、“位置消息”、“合并消息” 等几种类型。

消息分类 API 关键词 说明
文本消息 TextElem 普通的文字消息。
自定义消息 CustomElem 一段二进制 buffer,通常用于传输您应用中的自定义信令。
图片消息 ImageElem SDK 会在发送原始图片的同时,自动生成两种不同尺寸的缩略图,三张图分别被称为原图、大图、微缩图。
视频消息 VideoElem 一条视频消息包含一个视频文件和一张配套的缩略图。
语音消息 SoundElem 支持语音是否播放红点展示。
文件消息 FileElem 文件消息最大支持100MB。
位置消息 LocationElem 地理位置消息由位置描述、经度(longitude )和纬度(latitude)三个字段组成。
合并消息 MergerElem 最大支持 300 条消息合并。

消息存储策略

腾讯云 IM 消息按照消息存储策略,可以分为两种消息:在线消息、非在线消息。 在线消息是指只有当用户在线时才能接收到,离线后不会通过离线推送下发给用户。非在线消息是指无论用户是否在线,都能收到的消息。

在线消息会实时下发,不会存储在服务端。SDK 也不会存储在线消息。所以换设备或卸载后重新安装 App 拉取历史消息都不能拉到此类消息。

说明:

  1. 直播群所有的消息都属于在线消息。
  2. 全员推送的消息都属于在线消息。

非在线消息会被 SDK 和服务端存储。漫游服务器默认存储 7 天的消息。如果您希望存储超过 7 天,需要购买增值服务。服务内容和计费请查看 增值服务资费

换设备或卸载后重新安装 App 拉取历史消息可以拉到此类消息。

交流与反馈

欢迎加入 QQ 群进行技术交流和反馈问题,QQ 群:788910197

results matching ""

    No results matching ""