聊天室消息构建

更新时间: 2025/09/03 10:41:41

网易云信即时通讯 SDK(NetEase IM SDK,以下简称 NIM SDK)支持多种消息类型,助您快速实现多样化的消息业务场景。在进行消息收发等操作前,您需要先构建消息。

本文中消息指聊天室消息。更多聊天室消息相关功能请参考开发文档 聊天室消息

API 概览

API 说明 起始版本
createTextMessage 创建一条文本消息 v10.5.0
createImageMessage 创建一条图片消息 v10.5.0
createAudioMessage 创建一条语音消息 v10.5.0
createVideoMessage 创建一条视频消息 v10.5.0
createFileMessage 创建一条文件消息 v10.5.0
createLocationMessage 创建一条地理位置消息 v10.5.0
createCustomMessage 创建一条自定义消息 v10.5.0
createForwardMessage 创建一条转发消息 v10.5.0
createTipsMessage 创建一条提示消息 v10.5.0

接口类

V2NIMChatroomMessageCreator 类提供聊天室消息构建接口,支持构建多种类型的聊天室消息。

createTextMessage

接口描述

创建一条文本消息。

  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createTextMessage(String text)
参数名称 类型 是否必填 说明
text String 文本消息内容,长度上限为 5000 字符。

示例代码

dartfinal message = (await V2NIMChatroomMessageCreator.createTextMessage(
            'test text chatroom message'))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

createImageMessage

接口描述

创建一条图片消息。

  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createImageMessage(
String imagePath,
{String? name,
String? sceneName,
required int width,
required int height})
参数名称 类型 是否必填 说明
imagePath String 图片文件地址。
name String 图片文件显示名称,可不同于文件名。
sceneName String NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
width int 图片宽度,单位为像素。
height int 图片高度,单位为像素。

示例代码

dart final message = (await V2NIMChatroomMessageCreator.createImageMessage(
            imagePath,
            width: 50,
            height: 100))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

createAudioMessage

接口描述

创建一条语音消息。

  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createAudioMessage(
String audioPath,
{String? name,
String? sceneName,
required int duration})
参数名称 类型 是否必填 说明
audioPath String 语音文件地址。
name String 语音文件显示名称,可不同于文件名。
sceneName String NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
duration int 语音文件时长,单位为毫秒。

示例代码

dart final message = (await V2NIMChatroomMessageCreator.createAudioMessage(
            audioPath,
            duration: 6000))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

createVideoMessage

接口描述

创建一条视频消息。

  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createVideoMessage(
String videoPath,
{String? name,
String? sceneName,
required int duration,
required int width,
required int height})
参数名称 类型 是否必填 说明
videoPath String 视频文件地址。
name String 视频文件显示名称,可不同于文件名。
sceneName String NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
duration int 视频文件时长,单位为毫秒。
width int 视频宽度,单位为像素。
height int 视频高度,单位为像素。

示例代码

dartfinal message = (await V2NIMChatroomMessageCreator.createVideoMessage(
            videoPath,
            duration: 70000,
            width: 102,
            height: 150))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

createFileMessage

接口描述

创建一条文件消息。

  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createFileMessage(
String filePath,
{String? name,
String? sceneName})
参数名称 类型 是否必填 说明
filePath String 文件地址。
name String 文件显示名称,可不同于文件名。
sceneName String NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。

示例代码

dartfinal message = (await V2NIMChatroomMessageCreator.createFileMessage(
        filePath,
       ))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

createLocationMessage

接口描述

创建一条地理位置消息。

  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createLocationMessage(
double latitude,
double longitude,
String? address)
参数名称 类型 是否必填 说明
latitude double 位置维度。
longitude double 位置经度。
address String 位置描述信息。

示例代码

dart final message = (await V2NIMChatroomMessageCreator.createLocationMessage(
        latitude,longitude,null
       ))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

createCustomMessage

接口描述

创建一条自定义消息。

  • 已注册一个自定义消息解析器。请参考 自定义消息收发
  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createCustomMessage(String rawAttachment)
参数名称 类型 是否必填 说明
rawAttachment String 自定义消息附件对象。SDK 会将 JSON 格式的自定义消息解析为附件对象,用于自定义消息收发。长度限制与各套餐的配置(消息 attach 字段大小上限)有关,具体请参考 字段限制说明

示例代码

dartfinal message = (await V2NIMChatroomMessageCreator.createCustomMessage(
        jsonString
       ))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

createForwardMessage

接口描述

创建一条转发消息。

  • 转发的消息类型 不能为 notificationrobottipavChat
  • 转发的消息消息必须为发送成功的消息,消息状态必须为 NIMMessagesendingState.succeeded,消息内容与原消息相同。
  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createForwardMessage(V2NIMChatroomMessage message)
参数名称 类型 是否必填 说明
message V2NIMChatroomMessage 待转发的消息体。

示例代码

dartfinal message = (await V2NIMChatroomMessageCreator.createForwardMessage(
        msg
       ))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

createTipsMessage

接口描述

创建一条提示消息。

  • 在加入聊天室后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

dartFuture<NIMResult<V2NIMChatroomMessage>> createTipsMessage(String text)
参数名称 类型 是否必填 说明
text String 提示消息内容。

示例代码

dart  final message = (await V2NIMChatroomMessageCreator.createTipsMessage(
        'tips msg'
       ))
        .data;

返回值

已创建的消息对象 V2NIMChatroomMessage

此文档是否对你有帮助?
有帮助
去反馈
  • API 概览
  • 接口类
  • createTextMessage
  • createImageMessage
  • createAudioMessage
  • createVideoMessage
  • createFileMessage
  • createLocationMessage
  • createCustomMessage
  • createForwardMessage
  • createTipsMessage