消息概述

更新时间: 2026/04/14 10:01:10

消息一般指会话内消息,仅展示在聊天界面中,包括单聊和群组消息。

消息类型

NIM SDK 内置支持的会话内消息包括以下类型:

消息类型
说明 使用限制
文本消息 消息内容为普通文本 长度上限 5,000 字符
图片消息 消息内容为图片 URL 地址、尺寸、图片大小等图片相关信息 -
语音消息 消息内容为语音文件的 URL 地址、时长、大小、格式等语音相关信息 上传默认语音时长上限 120 秒(可自定义配置),文件大小无限制,建议应用根据业务场景进行限制。
视频消息 消息内容为视频文件的 URL 地址、时长、大小、格式等视频相关信息 上传无视频时长和文件大小限制,建议应用根据业务场景进行限制
文件消息 消息内容为文件的 URL 地址、大小、格式等文件相关信息 格式不限,SDK 上传无大小限制,服务端上传文件最大 15 MB,建议应用根据业务场景进行限制
地理位置消息 消息内容为地理位置标题、经度、纬度信息 -
提示消息 又称 Tip 消息,无推送和通知栏提醒,主要用于会话内的通知提醒,例如进入会话时出现的欢迎消息,或是会话过程中命中敏感词后的提示消息等场景。 -
通知消息 主要用于群组、超大群的事件通知,由服务端下发,客户端无法发送事件通知消息。通知类消息有在线、离线、漫游机制,无通知栏提醒。 -
自定义消息 开发者自定义的消息类型,例如红包消息、石头剪子布等形式的消息。 -

消息功能

除了支持丰富的消息类型外,NIM SDK 还为开发者提供了多种消息功能支持:

消息功能
说明 使用限制
离线消息 用户离线时,好友发送的消息。当用户再次上线时,离线消息会被下发到客户端。
  • P2P:下发 30 天内的离线消息(单个对话最多 100 条)
  • 群组:下发 30 天内的离线消息(单个对话最多 100 条)
  • 聊天室消息:不支持离线消息。
同步离线消息时,如果该消息的发送者处于封禁状态,则不下发该离线消息。
漫游消息 在切换设备(或卸载重装)登录时,可读取其他设备最近已接收过的消息,服务器记录的漫游消息将自动同步到客户端 SDK。 消息漫游默认关闭,需要在 网易云信控制台 单独开通。开通漫游功能之前发送的消息无法漫游。
漫游消息下发 7 天内最近 100 个会话,每个会话最近的 100 条消息。
多端同步 当用户在多个客户端同时在线时,其中一端发出的消息将实时同步到其他端。 -
历史消息 支持本地历史消息和云端历史消息。 根据套餐包的不同可获取到最近的云端历史消息,支持扩展时间至应用服务有效期内。
消息撤回 撤回投递成功的消息。 默认撤回 2 分钟内的消息,支持自定义可撤回的时长(网易云信控制台设置)。撤回操作仅支持单聊和群聊消息。
已读回执 消息接收方发送给消息发送方的已读状态。 -
消息转发 将接收的消息发给其他用户或群组。 -
消息更新 对消息做二次修改。 只能更新已发送成功的消息。
消息过滤 可过滤消息(一般针对通知消息)。 -
搜索消息 可对云端历史消息进行全文搜索。 需要在控制台开通 全文云端消息检索 功能。
消息插入 将消息插入本地数据库。 -
消息扩展功能 可进行消息快捷评论、收藏消息、PIN 消息操作。 需要在控制台开通对应功能。
@ 某人 通过消息扩展字段实现。当发送群消息 @ 某人的时候,可以通过扩展字段带上被 @ 的账号列表发送出去。群成员收到群消息时,查看扩展字段的 @ 账号列表里是否包括自己,如有则在 UI 界面上添加被 @ 的提醒。 -
正在输入 通过自定义系统通知实现,可参考 发送自定义通知。 -

概念解释

通知消息和系统通知

  • 概念

    通知消息属于 会话内 的一种消息,有在线、离线、漫游。目前用于(已操作完成的)群通知事件,不计入消息未读数。没有推送和通知栏提醒。

    系统通知属于网易云信内建的系统通知,由网易云信服务器推送给用户的通知类消息,用于网易云信系统类的事件通知。现在主要包括群变动的相关通知,例如入群申请,入群邀请等,如果第三方应用还托管了好友关系,好友的添加、删除也是这个类型的通知。系统通知由 SDK 负责接收和存储,并提供较简单的未读数管理。只有在线和离线,没有漫游。没有推送和通知栏提醒(如有需要,通过自定义系统通知实现)。

  • 使用场景

    通知消息一般位于聊天界面的中间。例如:群名称更新、某某某退出了群聊等。

    系统通知通常在验证消息列表中展现。例如:某某某请求加您为好友等。

自定义消息和自定义系统通知

  • 概念

    自定义消息属于会话内的一种消息,主要提供给开发者定制消息使用,有在线、离线、漫游、通知栏提醒。提供给开发者自定义的全局的系统通知类型,只有在线和离线,没有漫游。

    自定义系统通知和自定义消息的不同之处在于,自定义消息归属于会话中的消息体系内,由 SDK 存储在消息数据库中,与网易云信的其他内建消息类型一同展现给用户。而自定义系统通知主要用于事件状态通知。网易云信不存储,也不解析这些通知,仅负责替开发者应用传递和通知这些事件,起到透传作用。

  • 使用场景

    自定义消息一般与普通文本,语音消息相同,位于聊天界面的左右两侧。例如,猜拳、贴图、阅后即焚均可以采用自定义消息来实现。

    自定义系统通知的一个典型场景为聊天双方处于单聊界面时,显示的正在输入通知。

消息体概述

NIM SDK 中的 V2NIMMessage 表示消息对象,用于描述一条消息具有的属性,如类型、消息的内容、所属的会话 ID 等。

名称 类型 是否只读 说明
messageClientId String 是 客户端消息 ID,消息在客户端生成的 UUID。不会多端同步。
messageServerId String 是 服务器消息 ID,消息发送成功后 服务器生成的 UUID。会多端同步。
消息发送成功前只存在 messageClientId。
createTime long 是 消息时间戳,单位毫秒。
  • 消息发送成功前,该字段为消息发送者本地时间。
  • 消息发送成功后,该字段为服务器时间。
  • senderId String 是 消息发送方账号 ID。
    receiverId String 是 消息接收方账号。
  • 如果消息所属会话类型为单聊,该字段为聊天对象账号 ID。
  • 如果消息所属会话类型为群组,该字段为群组 ID。
  • conversationType

    V2NIMConversationType

    是

    消息所属会话类型:

    • V2NIM_CONVERSATION_TYPE_P2P:点对点
    • V2NIM_CONVERSATION_TYPE_TEAM:高级群
    • V2NIM_CONVERSATION_TYPE_SUPER_TEAM:超大群
    conversationId String 是 会话 ID,通过调用 V2NIMConversationIdUtil 的对应函数创建。组成方式:用户账号(accountId)| 会话类型(V2NIMConversationType)| 聊天对象账号(accountId)或群组 ID。
    aiConfig V2NIMMessageAIConfig 是 数字人相关的 AI 聊天信息。
    isSelf boolean 是 消息发送方是否为本人。
    attachmentUploadState V2NIMMessageAttachmentUploadState 是 消息附件上传状态:上传成功、上传失败、正在上传。
    sendingState V2NIMMessageSendingState 是 消息发送状态:发送成功、发送失败、正在发送。
    messageType V2NIMMessageType 否 消息类型。文本消息;图片消息;语音消息;视频消息;地理位置消息;文件消息;音视频通话;提示消息;自定义消息。
    subType int 否 自定义消息子类型,0 表示无消息子类型。
    text String 否 消息文本内容,仅文本类型的消息有该字段。
    attachment V2NIMMessageAttachment 否 消息附件,仅图片、语音、视频、文件类型消息有该字段。长度限制与各套餐的配置(消息 attach 字段大小上限)有关,具体请参考 字段限制说明。
    serverExtension String 否 消息服务端扩展字段。必须为 JSON 格式封装,长度上限为 2048 字节,多端同步。
    localExtension String 否 消息本地扩展字段,必须为 JSON 格式封装,不可多端同步。长度上限为 2048 字节。默认为空("")。
    callbackExtension String 是 第三方回调透传的自定义扩展字段,长度上限为 2048 字节。
    第三方回调功能需要在 网易云信控制台 上 开通。
    messageConfig V2NIMMessageConfig 是 消息相关配置,例如是否需要保存离线/漫游消息,是否计入未读数等。
    pushConfig V2NIMMessagePushConfig 是 第三方推送相关配置。
    第三方推送功能需要在 网易云信控制台 上 配置。
    routeConfig V2NIMMessageRouteConfig 是 消息事件抄送相关配置。
    消息抄送功能需要在 网易云信控制台 上 开通。
    antispamConfig V2NIMMessageAntispamConfig 是 反垃圾相关配置。
    反垃圾功能包括客户端反垃圾和安全通,均需要在 网易云信控制台 上 开通。
    robotConfig V2NIMMessageRobotConfig 是 机器人相关配置。
    机器人功能需要在 网易云信控制台 上 配置。
    threadRoot V2NIMMessageRefer 是 消息回复的根消息参考信息。
    消息回复功能需要在 网易云信控制台 上 开通。
    threadReply V2NIMMessageRefer 是 消息回复的父消息参考信息。
    消息回复功能需要在 网易云信控制台 上 开通。
    messageStatus V2NIMMessageStatus 否 消息状态相关信息,包含消息发送失败的错误码以及是否已发送过已读回执。
    modifyTime Long 是 消息更新时间,默认为 0。
    modifyAccountId String 是 消息更新者账号,默认为 null/undefined。
    此文档是否对你有帮助?
    有帮助
    去反馈
    • 消息类型
    • 消息功能
    • 概念解释
    • 通知消息和系统通知
    • 自定义消息和自定义系统通知
    • 消息体概述