消息介绍
消息基本结构
属性名 | 类型 | 说明 |
---|---|---|
conversationType | RCIMIWConversationType | 会话类型 |
messageType | RCIMIWMessageType | 消息的类型 |
targetId | string | 会话 ID |
channelId | string | 所属会话的业务标识,长度限制 20 字符 |
messageId | number | 本地数据库中存储的消息的唯一 ID 值。发送新消息时无需指定该 ID,否则会导致消息入库失败。在失败重发消息时,可以填入已入库的消息的 ID,请确保使用上一次发送失败的消息实例。 |
messageUId | string | 服务器消息唯一 ID(在同一个 Appkey 下全局唯一) |
offLine | boolean | 是否是离线消息,只在接收消息的回调方法中有效,如果消息为离线消息,则为 YES ,其他情况均为 NO |
groupReadReceiptInfo | RCIMIWGroupReadReceiptInfo | 群阅读回执状态 |
receivedTime | number | 消息的接收时间(Unix 时间戳、毫秒) |
sentTime | number | 消息的发送时间(Unix 时间戳、毫秒) |
receivedStatus | RCIMIWReceivedStatus | 消息的接收状态 |
sentStatus | RCIMIWSentStatus | 消息的发送状态 |
senderUserId | string | 消息的发送者 ID |
direction | RCIMIWMessageDirection | 消息的方向 |
userInfo | RCIMIWUserInfo | 消息携带的用户信息 |
mentionedInfo | RCIMIWMentionedInfo | 消息的 @ 信息 |
pushOptions | RCIMIWMessagePushOptions | 消息推送配置 |
extra | string | 消息的附加字段 |
expansion | Map<string, string> | 消息扩展信息。发消息前设置该属性即开启消息扩展功能,否则无法使用消息扩展功能。发送成功后需使用 updateMessageExpansion 接口更新扩展信息。消息扩展 key 长度不超过 32 ,value 长度不超过 4096 ,单次设置扩展数量最大为 20,消息的扩展总数不能超过 300。注:扩展信息只支持单聊和群组,其它会话类型不能设置扩展信息。 |
消息类型
IMLib 的消息类型(RCIMIWMessageType)枚举提供了预定义的文本、语音、图片等消息类型,并且支持 App 通过 RCIMIWMessageType.NATIVE_CUSTOM
实现自定义消息。
各类型消息默认会在客户端本地存储,计入未读消息数。以下类型除外:
- 撤回消息类型(
RCIMIWMessageType.RECALL
):客户端本地存储,但不计入未读消息数 - 命令消息类型(
RCIMIWMessageType.COMMAND
):客户端不进行本地存储,不计入未读消息数 - 命令通知消息类型(
RCIMIWMessageType.COMMAND_NOTIFICATION
):客户端本地存储,不计入未读消息数。 - 自定义消息类型(
RCIMIWMessageType.CUSTOM