tencent cloud

文档反馈

Android & iOS & Mac

最后更新时间:2023-08-21 17:03:46

    消息类介绍

    在腾讯云 IM SDK 中,消息类为 V2TIMMessage (Android / iOS & Mac / Windows) 。您在发送和接收消息过程中都会频繁地用到该类。
    V2TIMMessage 类定义了以下内容:
    属性
    含义
    说明
    msgID
    消息 ID
    消息创建的时候为空,调用 sendMessage 的时候同步返回。
    timestamp
    消息时间戳
    消息发送到服务端的时间。可用于消息排序。
    sender
    消息发送者的 userID
    客户自己设置,跟登录时传入的 userID 一致。
    nickName
    消息发送者的昵称
    客户自己设置。调用 setSelfInfo 设置及修改。详情可参考 用户资料
    friendRemark
    消息发送者的好友备注
    接收方使用。例如 alice 给好友 bob 备注为 "bob01"。当 bob 给 alice 发消息,此时对于 alice 而言,消息中的 friendRemark 为 "bob01"。调用 setFriendInfo 设置。
    nameCard
    发送者的群名片
    仅群聊消息有效。例如 alice 修改自己的群名片为 "doctorA",那么 alice 往群里发送的消息,群成员收到的消息 nameCard 字段值为 "doctorA"。接收者可以将这个字段优先作为用户名称的显示。nameCard 需要调用 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 以上版本有效,需要购买进阶版。详情可参考 已读回执
    isBroadcastMessage
    是否是广播消息
    仅直播群支持广播消息。发送广播消息只能使用 REST API,SDK 仅接收。SDK 6.5.2803 增强版及以上版本支持,需要购买进阶版套餐。详情可参见 接收广播消息
    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 及以上版本支持。详情可参考 会话列表
    isExcludedFromContentModeration
    消息是否不过内容审核(包含本地审核云端审核
    
    发送方设置。默认为需要过内容审核。7.1 及以上版本支持。只有在开通本地审核功能或云端审核功能后设置才有效。
    hasRiskContent
    是否被标记为有安全风险的消息
    暂时只支持语音和视频消息,只有在开通云端审核功能后才有效,如果您发送的语音或视频消息内容不合规,云端异步审核后会触发 SDK 的 onRecvMessageModified回调,回调里的 message 对象该字段值为 true。
    offlinePushInfo
    自定义离线推送信息
    详情可参考 iOS 离线推送(APNs / VoIP) / Android 离线推送
    isRead
    消息是否本端已读
    如果是自己发的消息,默认已读。
    isPeerRead
    消息是否对端已读
    仅单聊消息有效。
    localCustomData
    消息自定义数据
    发送方设置。本地保存,不会发送到对端,程序卸载重装后失效。
    localCustomInt
    消息自定义数据
    发送方设置。本地保存,不会发送到对端,程序卸载重装后失效。可以用来标记语音、视频消息是否已经播放。

    消息分类

    腾讯云 IM 消息按照消息的发送目标可以分为:“单聊消息”(又称 “C2C 消息”)和“群聊消息” 两种:
    消息分类
    API 关键词
    说明
    单聊消息
    C2CMessage
    又称 C2C 消息,在发送时需要指定消息接收者的 UserID,只有接受者可以收到该消息。
    群聊消息
    GroupMessage
    在发送时需要指定目标群组的 groupID,该群中的所有用户均能收到消息。
    按照消息承载的内容可以分为 “文本消息”、“自定义(信令)消息”,“图片消息”、“视频消息”、“语音消息”、“文件消息”、“位置消息”、“合并消息”、“群 tips 消息”等几种类型。
    消息分类
    API 关键词
    说明
    文本消息
    TextElem
    普通的文字消息。
    自定义消息
    CustomElem
    一段二进制 buffer,通常用于传输您应用中的自定义信令。
    图片消息
    ImageElem
    SDK 会在发送原始图片的同时,自动生成两种不同尺寸的缩略图,三张图分别被称为原图、大图、微缩图。
    视频消息
    VideoElem
    一条视频消息包含一个视频文件和一张配套的缩略图。
    语音消息
    SoundElem
    支持语音是否播放红点展示。
    文件消息
    FileElem
    文件消息最大支持 100 MB。
    位置消息
    LocationElem
    地理位置消息由位置描述、经度(longitude )和纬度(latitude)三个字段组成。
    合并消息
    MergerElem
    适用于合并转发聊天记录等场景,最大支持 300 条消息合并。

    消息存储策略

    腾讯云 IM 消息按照消息存储策略,可以分为两种消息:在线消息、非在线消息。 在线消息是指只有当用户在线时才能接收到,离线后不会通过离线推送下发给用户。非在线消息是指无论用户是否在线,都能收到的消息。
    在线消息会实时下发,不会存储在服务端。SDK 也不会存储在线消息。所以换设备或卸载后重新安装 App 拉取历史消息都不能拉到此类消息。
    说明:
    1. 直播群所有的消息都属于在线消息。
    2. 全员推送的消息都属于在线消息。
    非在线消息会被 SDK 和服务端存储。漫游服务器默认存储 7 天的消息。如果您希望存储超过 7 天,需要购买增值服务。
    换设备或卸载后重新安装 App 拉取历史消息可以拉到此类消息。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持