Skip to content
能力中心
产品中心
应用市场
WebOffice
开发者后台

消息介绍

客户端 SDK 中用来表示消息的实体类为 KIMCoreMessage

KIMCoreMessage 实体类封装了以下内容:

  • 普通消息或媒体消息的具体内容,即基于 KIMCoreMessageContentKIMCoreMediaMessageContent 下具体类型的消息内容对象,例如文本消息KIMCoreTextMessage、图片消息KIMCoreImageMessage、视频消息KIMCoreVideoMessage等等。

  • 消息的属性信息,如发送者 ID、所属会话 ID、发送状态等等。

img

KIMCoreMessage 实体类中封装了消息内容对象,代表一条 KIMCoreMessage 的具体内容。

消息的具体内容分为两种类型:

  • KIMCoreMessageContent,即普通类型消息内容。例如在 SDK 内置消息类型中的文本消息和合并转发消息。

  • KIMCoreMediaMessageContent,即多媒体类型消息。多媒体类型消息内容继承自KIMCoreMessageContent,并在其基础上增加了对多媒体文件的处理逻辑。

消息模型

下表列出了 KIMCoreMessage 中提供的主要方法。

方法参数返回值说明
getMsgId()String获取消息的唯一 ID。
1. 只有发送成功的消息才有唯一 Id。
2. 在同一个 App Key 下全局唯一。
getChatId()String所属会话的唯一 ID。
1. 在同一个 App Key 下全局唯一。
getSendTime()Long获取消息发送时间。
1. 返回值为 UNIX 时间戳,单位纳秒。
2. 发送时间为消息到达服务端时服务器的本地时间。
getSenderUid()String获取消息发送者 ID。
getSendStatus()KIMCoreMessageStatus获取发送消息的状态,如果返回 null,说明不是本端本地发送的消息,或者是已经发送成功的消息。
isRecall()Boolean该消息是否为撤回消息
isReply()Boolean该消息是否为回复类消息
getRefMsg()KIMCoreMessage?被回复的消息实体
getMention()List String被@人的列表,使用 userid
getId()Long消息在本地数据库中的唯一 id
getContent()KIMCoreMessageContent消息内容包装实体
getMsgNotices()List<KIMCoreMsgNotice>?消息强提醒数据最多3个

下表列出了 KIMCoreMessageStatus 中提供的主要方法。

属性类型说明
messageStatusInt发送状态。
Constant.SendStatus
progressInt发送进度,媒体类消息可能会有该值
ctimeLong发送的时间,单位 ns

下表列出了 KIMCoreMsgNotice 中提供的主要方法

属性类型说明
noticeTypeString强提醒类型
isAllBoolean是否全员
toUserIdsList<String>指定用户接收强提醒

以下是所有基于 KIMCoreMessageContentKIMCoreMediaMessageContent 的 SDK 内置消息类型。

消息类型名字描述
文本消息KIMCoreTextMessage文本消息
合并转发消息KIMCoreMergeForwardMessage合并转发消息
文件消息KIMCoreFileMessage文件消息
图片消息KIMCoreImageMessage图片消息
图文混排消息KIMCorePicTextMessage图文消息
视频消息KIMCoreVideoMessage视频消息
音频消息KIMCoreVoiceMessage语音消息
卡片消息KIMCoreCardMessage卡片消息