消息构建

更新时间: 2024/04/19 10:56:37

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

本文中消息均指会话内消息,适用于单聊、群组、超大群类型会话。更多消息相关功能请参考开发文档消息概述

支持平台

Android iOS macOS/Windows Web/uni-app/小程序 Harmony

API 概览

API 描述 起始版本
createTextMessage 创建一条文本消息 v10.2.0(对应 Harmony v0.5.0)
createImageMessage 创建一条图片消息 v10.2.0(对应 Harmony v0.5.0)
createAudioMessage 创建一条语音消息 v10.2.0(对应 Harmony v0.5.0)
createVideoMessage 创建一条视频消息 v10.2.0(对应 Harmony v0.5.0)
createFileMessage 创建一条文件消息 v10.2.0(对应 Harmony v0.5.0)
createLocationMessage 创建一条地理位置消息 v10.2.0(对应 Harmony v0.5.0)
createCustomMessage 创建一条自定义消息 v10.2.0(对应 Harmony v0.5.0)
createForwardMessage 创建一条转发消息 v10.2.0(对应 Harmony v0.5.0)
createTipsMessage 创建一条提示消息 v10.2.0(对应 Harmony v0.5.0)

接口类

V2NIMMessageCreator 类提供消息构建接口,支持构建多种类型的消息。

createTextMessage

接口描述

创建一条文本消息。

  • 在登录后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

Android
javapublic static V2NIMMessage createTextMessage(String text)
参数名称 类型 是否必填 默认值 描述
text String - 文本消息内容,长度上限为 5000 字符。
iOS
objective-c+ (V2NIMMessage *)createTextMessage:(NSString *)text;
参数名称 类型 是否必填 默认值 描述
text NSString * - 文本消息内容,长度上限为 5000 字符。
macOS/Windows
cppstatic nstd::optional<V2NIMMessage> createTextMessage(nstd::string text);
参数名称 类型 是否必填 默认值 描述
text nstd::string - 文本消息内容,长度上限为 5000 字符。
Web/uni-app/小程序
typescriptcreateTextMessage(text: string): V2NIMMessage
参数名称 类型 是否必填 默认值 描述
text string - 文本消息内容,长度上限为 5000 字符。
Harmony
typescriptcreateTextMessage(text: string): V2NIMMessage
参数名称 类型 是否必填 默认值 描述
text string - 文本消息内容,长度上限为 5000 字符。

示例代码

Android
javaV2NIMMessage v2TextMessage = V2NIMMessageCreator.createTextMessage("text content");
iOS
objective-cV2NIMMessage *v2Message = [V2NIMMessageCreator createTextMessage:@"hello world"];
macOS/Windows
cppauto textMessage = V2NIMMessageCreator::createTextMessage("hello world");
if(!textMessage) {
    // create text message failed
}
Web/uni-app/小程序
typescripttry {
    const message = nim.V2NIMMessageCreator.createTextMessage('hello world')
} catch(err) {
    // todo error
}
Harmony
typescripttry {
    const message = nim.messageCreator.createTextMessage('hello world')
} catch(err) {
    // todo error
}

返回值

已创建的消息对象 V2NIMMessage

createImageMessage

接口描述

创建一条图片消息。

  • 在登录后、发送消息前调用该方法。
  • 该方法为同步。

参数说明

Android
javapublic static V2NIMMessage createImageMessage(String imagePath, String name, String sceneName, Integer width, Integer height)
参数名称 类型 是否必填 默认值 描述
imagePath String - 图片 URL 地址
name String 文件名 图片文件显示名称,可不同于文件名。
sceneName String V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
width Integer null 图片宽度,单位为像素。
height Integer null 图片高度,单位为像素。
iOS
objective-c+ (V2NIMMessage *)createImageMessage:(NSString *)imagePath
                                name:(nullable NSString *)name
                           sceneName:(nullable NSString *)sceneName
                               width:(int)width
                              height:(int)height;
参数名称 类型 是否必填 默认值 描述
imagePath NSString * - 图片 URL 地址
name NSString * 文件名 图片文件显示名称,可不同于文件名。
sceneName NSString * V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
width int null 图片宽度,单位为像素。
height int null 图片高度,单位为像素。
macOS/Windows
cppstatic nstd::optional<V2NIMMessage> createImageMessage(nstd::string imagePath,
    nstd::string name,
    nstd::string sceneName,
    uint32_t width,
    uint32_t height);
参数名称 类型 是否必填 默认值 描述
imagePath nstd::string - 图片 URL 地址
name nstd::string 文件名 图片文件显示名称,可不同于文件名。
sceneName nstd::string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
width uint32_t null 图片宽度,单位为像素。
height uint32_t null 图片高度,单位为像素。
Web/uni-app/小程序
typescriptcreateImageMessage(imageObj: string | File, name?: string, sceneName?: string, width?: number, height?: number): V2NIMMessage
参数名称 类型 是否必填 默认值 描述
imageObj Web File/string -
  • 非 Web 小程序:Web File 对象
  • Web 小程序:图片 URL 地址
  • name string 文件名 图片文件显示名称,可不同于文件名。
    sceneName string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    width number null 图片宽度,单位为像素。
    height number null 图片高度,单位为像素。
    Harmony
    typescriptcreateImageMessage(imagePath: string, name?: string, sceneName?: string, width?: number, height?: number): Promise<V2NIMMessage>
    
    参数名称 类型 是否必填 默认值 描述
    imagePath string - 图片 URL 地址
    name string 文件名 图片文件显示名称,可不同于文件名。
    sceneName string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    width number null 图片宽度,单位为像素。
    height number null 图片高度,单位为像素。

    示例代码

    Android
    javaV2NIMMessage v2ImageMessage = V2NIMMessageCreator.createImageMessage(imagePath, name, sceneName, width, height);
    
    iOS
    objective-cNSString *imagePath = @"文件沙盒路径";
    V2NIMMessage *message = [V2NIMMessageCreator createImageMessage:imagePath 
                                                               name:@"imageName"
                                                          sceneName:@"nim_default_im"
                                                              width:200
                                                             height:200];
    
    macOS/Windows
    cppauto imageMessage = V2NIMMessageCreator::createImageMessage("imagePath", "imageName", V2NIM_STORAGE_SCENE_NAME_DEFAULT_IM, 100,
    100); if(!imageMessage) {
        // create image message failed
    }
    
    Web/uni-app/小程序
    typescripttry {
        const message = nim.V2NIMMessageCreator.createImageMessage(document.getElementById('fileInputId').files[0])
    } catch(err) {
        // todo error
    }
    
    Harmony
    typescripttry {
        const imagePath = "沙盒路径"
        const message = nim.messageCreator.createImageMessage(imagePath)
    } catch(err) {
        // todo error
    }
    

    返回值

    已创建的消息对象 V2NIMMessage

    createAudioMessage

    接口描述

    创建一条语音消息。

    • 在登录后、发送消息前调用该方法。
    • 该方法为同步。

    参数说明

    Android
    javapublic static V2NIMMessage createAudioMessage(String audioPath, String name, String sceneName, Integer duration)
    
    参数名称 类型 是否必填 默认值 描述
    audioPath String - 语音文件 URL 地址
    name String null 语音文件显示名称,可不同于文件名。
    sceneName String V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration Integer null 语音文件时长,单位为毫秒。
    iOS
    objective-c+ (V2NIMMessage *)createAudioMessage:(NSString *)audioPath
                                    name:(nullable NSString *)name
                               sceneName:(nullable NSString *)sceneName
                                duration:(int)duration;
    
    参数名称 类型 是否必填 默认值 描述
    audioPath NSString * - 语音文件 URL 地址
    name NSString * null 语音文件显示名称,可不同于文件名。
    sceneName NSString * V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration int null 语音文件时长,单位为毫秒。
    macOS/Windows
    cppstatic nstd::optional<V2NIMMessage> createAudioMessage(nstd::string audioPath, nstd::string name, nstd::string sceneName, uint32_t duration);
    
    参数名称 类型 是否必填 默认值 描述
    audioPath nstd::string - 语音文件 URL 地址
    name nstd::string null 语音文件显示名称,可不同于文件名。
    sceneName nstd::string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration uint32_t null 语音文件时长,单位为毫秒。
    Web/uni-app/小程序
    typescriptcreateAudioMessage(audioObj: string | File, name?: string, sceneName?: string, duration?: number): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    audioObj Web File/string -
  • 非 Web 小程序:Web File 对象
  • Web 小程序:语音文件 URL 地址
  • name string null 语音文件显示名称,可不同于文件名。
    sceneName string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration number - 语音文件时长,单位为毫秒。
    Harmony
    typescriptcreateAudioMessage(audioPath: string, name?: string, sceneName?: string, duration?: number): Promise<V2NIMMessage>
    
    参数名称 类型 是否必填 默认值 描述
    audioPath string - 语音文件 URL 地址
    name string null 语音文件显示名称,可不同于文件名。
    sceneName string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration number - 语音文件时长,单位为毫秒。

    示例代码

    Android
    javaV2NIMMessage v2AudioMessage = V2NIMMessageCreator.createAudioMessage(audioPath, name, sceneName, duration);
    
    iOS
    objective-cNSString *audioPath = @"文件沙盒路径";
    V2NIMMessage *message = [V2NIMMessageCreator createAudioMessage:audioPath 
                                                               name:@"audioName"
                                                          sceneName:@"nim_default_im"
                                                           duration:2];
    
    macOS/Windows
    cppauto audioMessage = V2NIMMessageCreator::createAudioMessage("audioPath", "audioName", V2NIM_STORAGE_SCENE_NAME_DEFAULT_IM, 100);
        if(!audioMessage) {
            // create audio message failed
    }
    
    Web/uni-app/小程序
    typescripttry {
        const message = nim.V2NIMMessageCreator.createAudioMessage(document.getElementById('fileInputId').files[0])
    } catch(err) {
        // todo error
    }
    
    Harmony
    typescripttry {
        const audioPath = "文件沙盒路径"const message = nim.messageCreator.createAudioMessage(audioPath)
    } catch(err) {
        // todo error
    }
    

    返回值

    已创建的消息对象 V2NIMMessage

    createVideoMessage

    接口描述

    创建一条视频消息。

    • 在登录后、发送消息前调用该方法。
    • 该方法为同步。

    参数说明

    Android
    javapublic static V2NIMMessage createVideoMessage(String videoPath, String name, String sceneName, Integer duration, Integer width, Integer height)
    
    参数名称 类型 是否必填 默认值 描述
    videoPath String - 视频文件 URL 地址
    name String null 视频文件显示名称,可不同于文件名。
    sceneName String V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration Integer - 视频文件时长,单位为毫秒。
    width Integer null 视频宽度,单位为像素。
    height Integer null 视频高度,单位为像素。
    iOS
    objective-c+ (V2NIMMessage *)createVideoMessage:(NSString *)videoPath
                                    name:(nullable NSString *)name
                               sceneName:(nullable NSString *)sceneName
                                duration:(int)duration
                                   width:(int)width
                                  height:(int)height;
    
    参数名称 类型 是否必填 默认值 描述
    videoPath NSString * - 视频文件 URL 地址
    name NSString * null 视频文件显示名称,可不同于文件名。
    sceneName NSString * V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration int - 视频文件时长,单位为毫秒。
    width int null 视频宽度,单位为像素。
    height int null 视频高度,单位为像素。
    macOS/Windows
    cppstatic nstd::optional<V2NIMMessage> createVideoMessage(nstd::string videoPath,
        nstd::string name,
        nstd::string sceneName,
        uint32_t duration,
        uint32_t width,
        uint32_t height);
    
    参数名称 类型 是否必填 默认值 描述
    videoPath nstd::string - 视频文件 URL 地址
    name nstd::string null 视频文件显示名称,可不同于文件名。
    sceneName nstd::string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration uint32_t - 视频文件时长,单位为毫秒。
    width uint32_t null 视频宽度,单位为像素。
    height uint32_t null 视频高度,单位为像素。
    Web/uni-app/小程序
    typescriptcreateVideoMessage(videoObj: string | File, name?: string, sceneName?: string, duration?: number, width?: number, height?: number): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    videoObj Web File/string -
  • 非 Web 小程序:Web File 对象
  • Web 小程序:视频文件 URL 地址
  • name string null 视频文件显示名称,可不同于文件名。
    sceneName string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration number - 视频文件时长,单位为毫秒。
    width number null 视频宽度,单位为像素。
    height number null 视频高度,单位为像素。
    Harmony
    typescriptcreateVideoMessage(videoPath: string, name?: string, sceneName?: string, duration?: number, width?: number, height?: number): Promise<V2NIMMessage>
    
    参数名称 类型 是否必填 默认值 描述
    videoPath Web File/string - 视频文件 URL 地址
    name string null 视频文件显示名称,可不同于文件名。
    sceneName string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    duration number - 视频文件时长,单位为毫秒。
    width number null 视频宽度,单位为像素。
    height number null 视频高度,单位为像素。

    示例代码

    Android
    javaV2NIMMessage v2VideoMessage = V2NIMMessageCreator.createVideoMessage(videoPath, name, sceneName, duration, width, height);
    
    iOS
    objective-cNSString *videoPath = @"文件沙盒路径";
    V2NIMMessage *message = [V2NIMMessageCreator createVideoMessage:videoPath 
                                                               name:@"name"
                                                          sceneName:@"nim_default_im"
                                                           duration:15
                                                              width:200
                                                             height:200];
    
    macOS/Windows
    cppauto videoMessage = V2NIMMessageCreator::createVideoMessage("videoPath", "videoName", V2NIM_STORAGE_SCENE_NAME_DEFAULT_IM, 100, 100, 100);
    if (!videoMessage) {
        // create video message failed
    }
    
    Web/uni-app/小程序
    typescripttry {
        const message = nim.V2NIMMessageCreator.createVideoMessage(document.getElementById('fileInputId').files[0])
    } catch(err) {
        // todo error
    }
    
    Harmony
    typescripttry {
        const videoPath = '沙盒路径'
        const message = nim.messageCreator.createVideoMessage(videoPath)
    } catch(err) {
        // todo error
    }
    

    返回值

    已创建的消息对象 V2NIMMessage

    createFileMessage

    接口描述

    创建一条文件消息。

    • 在登录后、发送消息前调用该方法。
    • 该方法为同步。

    参数说明

    Android
    javapublic static V2NIMMessage createFileMessage(String filePath, String name, String sceneName)
    
    参数名称 类型 是否必填 默认值 描述
    filePath String - 文件 URL 地址
    name String null 文件显示名称,可不同于文件名。
    sceneName String V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    iOS
    objective-c+ (V2NIMMessage *)createFileMessage:(NSString *)filePath
                                   name:(nullable NSString *)name
                              sceneName:(nullable NSString *)sceneName;
    
    参数名称 类型 是否必填 默认值 描述
    filePath NSString * - 文件 URL 地址
    name NSString * null 文件显示名称,可不同于文件名。
    sceneName NSString * V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    macOS/Windows
    cppstatic nstd::optional<V2NIMMessage> createFileMessage(nstd::string filePath, nstd::string name, nstd::string sceneName);
    
    参数名称 类型 是否必填 默认值 描述
    filePath nstd::string - 文件 URL 地址
    name nstd::string null 文件显示名称,可不同于文件名。
    sceneName nstd::string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    Web/uni-app/小程序
    typescriptcreateFileMessage(fileObj: string | File, name?: string, sceneName?: string): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    fileObj Web File/string -
  • 非 Web 小程序:Web File 对象
  • Web 小程序:文件 URL 地址
  • name string null 文件显示名称,可不同于文件名。
    sceneName string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。
    Harmony
    typescriptcreateFileMessage(filePath: string, name?: string, sceneName?: string): Promise<V2NIMMessage>
    
    参数名称 类型 是否必填 默认值 描述
    filePath string - 文件 URL 地址
    name string null 文件显示名称,可不同于文件名。
    sceneName string V2NIMStorageSceneConfig.DEFAULT_IM 对应的场景名 NOS 文件存储场景名。若使用自定义的存储场景,需要先调用 addCustomStorageScene 添加自定义存储场景。

    示例代码

    Android
    javaV2NIMMessage v2FileMessage = V2NIMMessageCreator.createFileMessage(filePath, name, sceneName);
    
    iOS
    objective-cNSString *filePath = @"文件沙盒路径";
    V2NIMMessage *message = [V2NIMMessageCreator createFileMessage:filePath 
                                                               name:@"name"
                                                          sceneName:@"nim_default_im"];
    
    macOS/Windows
    cppauto fileMessage = V2NIMMessageCreator::createFileMessage("filePath", "fileName", V2NIM_STORAGE_SCENE_NAME_DEFAULT_IM);
    if(!fileMessage) {
        // create file message failed
    }
    
    Web/uni-app/小程序
    typescripttry {
        const message = nim.V2NIMMessageCreator.createFileMessage(document.getElementById('fileInputId').files[0])
    } catch(err) {
        // todo error
    }
    
    Harmony
    typescripttry {
        const filePath = '沙盒路径'
        const message = nim.messageCreator.createFileMessage(filePath)
    } catch(err) {
        // todo error
    }
    }
    

    返回值

    已创建的消息对象 V2NIMMessage

    createLocationMessage

    接口描述

    创建一条地理位置消息。

    • 在登录后、发送消息前调用该方法。
    • 该方法为同步。

    参数说明

    Android
    javapublic static V2NIMMessage createLocationMessage(double latitude, double longitude, String address)
    
    参数名称 类型 是否必填 默认值 描述
    latitude double - 位置维度
    longitude double - 位置经度
    address String - 位置描述信息
    iOS
    objective-c+ (V2NIMMessage *)createLocationMessage:(double)latitude
                                  longitude:(double)longitude
                                    address:(NSString *)address;
    
    参数名称 类型 是否必填 默认值 描述
    latitude double - 位置维度
    longitude double - 位置经度
    address NSString * - 位置描述信息
    macOS/Windows
    cppstatic nstd::optional<V2NIMMessage> createLocationMessage(double latitude, double longitude, nstd::string address);
    
    参数名称 类型 是否必填 默认值 描述
    latitude double - 位置维度
    longitude double - 位置经度
    address nstd::string - 位置描述信息
    Web/uni-app/小程序
    typescriptcreateLocationMessage(latitude: number, longitude: number, address: string): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    latitude number - 位置维度
    longitude number - 位置经度
    address string - 位置描述信息
    Harmony
    typescriptcreateLocationMessage(latitude: number, longitude: number, address: string): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    latitude number - 位置维度
    longitude number - 位置经度
    address string - 位置描述信息

    示例代码

    Android
    javaV2NIMMessage v2LocationMessage = V2NIMMessageCreator.createLocationMessage(latitude,longitude, address);
    
    iOS
    objective-cV2NIMMessage *message = [V2NIMMessageCreator createLocationMessage:37.787359
                                                            longitude:-122.408227
                                                            address:@"杭州滨江区网商路399号"];
    
    macOS/Windows
    cppauto locationMessage = V2NIMMessageCreator::createLocationMessage(100, 100, "address");
    if(!locationMessage) {
        // create location message failed
    }
    
    Web/uni-app/小程序
    typescripttry {
        const message = nim.V2NIMMessageCreator.createLocationMessage(30.25, 120.166664, "HangZhou")
    } catch(err) {
        // todo error
    }
    
    Harmony
    typescripttry {
        const message = nim.messageCreator.createLocationMessage(30.25, 120.166664, "HangZhou")
    } catch(err) {
        // todo error
    }
    

    返回值

    已创建的消息对象 V2NIMMessage

    createCustomMessage

    接口描述

    创建一条自定义消息。

    • 已注册一个自定义消息解析器。详见自定义消息收发
    • 在登录后、发送消息前调用该方法。
    • 该方法为同步。

    参数说明

    Android
    javapublic static V2NIMMessage createCustomMessage(String text, String rawAttachment)
    
    参数名称 类型 是否必填 默认值 描述
    text String - 自定义消息文本内容,可用于推送及状态栏消息提醒的展示。
    rawAttachment String - 自定义消息附件对象。SDK 会将 JSON 格式的自定义消息解析为附件对象,用于自定义消息收发。长度上限为 4096 字节。
    iOS
    objective-c+ (V2NIMMessage *)createCustomMessage:(NSString *)text
                            rawAttachment:(NSString *)rawAttachment;
    
    参数名称 类型 是否必填 默认值 描述
    text NSString * - 自定义消息文本内容,可用于推送及状态栏消息提醒的展示。
    rawAttachment NSString * - 自定义消息附件对象。SDK 会将 JSON 格式的自定义消息解析为附件对象,用于自定义消息收发。长度上限为 4096 字节。
    macOS/Windows
    cppstatic nstd::optional<V2NIMMessage> createCustomMessage(nstd::string text, nstd::string rawAttachment);
    
    参数名称 类型 是否必填 默认值 描述
    text nstd::string - 自定义消息文本内容,可用于推送及状态栏消息提醒的展示。
    rawAttachment nstd::string - 自定义消息附件对象。SDK 会将 JSON 格式的自定义消息解析为附件对象,用于自定义消息收发。长度上限为 4096 字节。
    Web/uni-app/小程序
    typescriptcreateCustomMessage(text: string, rawAttachment: string): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    text string - 自定义消息文本内容,可用于推送及状态栏消息提醒的展示。
    rawAttachment string - 自定义消息附件对象。SDK 会将 JSON 格式的自定义消息解析为附件对象,用于自定义消息收发。长度上限为 4096 字节。
    Harmony
    typescriptcreateCustomMessage(text: string, rawAttachment: string): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    text string - 自定义消息文本内容,可用于推送及状态栏消息提醒的展示。
    rawAttachment string - 自定义消息附件对象。SDK 会将 JSON 格式的自定义消息解析为附件对象,用于自定义消息收发。长度上限为 4096 字节。

    示例代码

    Android
    javaV2NIMMessage v2CustomMessage = V2NIMMessageCreator.createCustomMessage(text, rawAttachment);
    
    iOS
    objective-cV2NIMessage *message = [V2NIMMessageCreator createCustomMessage:@"text"
                                                    rawAttachment:@"custoom JSON String"];
    
    macOS/Windows
    cppauto customMessage = V2NIMMessageCreator::createCustomMessage("text", R"({"key": "value"})");
    if(!customMessage) {
        // create custom message failed
    }
    
    Web/uni-app/小程序
    typescripttry {
        const message = nim.V2NIMMessageCreator.createCustomMessage("text", JSON.stringify({
            strategy: 1    
        }))
    } catch(err) {
        // todo error
    }
    
    Harmony
    typescripttry {
        const message = nim.messageCreator.createCustomMessage("text", JSON.stringify({
            strategy: 1    
        }))
    } catch(err) {
        // todo error
    }
    

    返回值

    已创建的消息对象 V2NIMMessage

    createForwardMessage

    接口描述

    创建一条转发消息。

    • 转发的消息类型不能为 V2NIM_MESSAGE_TYPE_NOTIFICATION(5)V2NIM_MESSAGE_TYPE_ROBOT(11)V2NIM_MESSAGE_TYPE_TIPS(10)V2NIM_MESSAGE_TYPE_AVCHAT(7)
    • 转发的消息消息必须为发送成功的消息,消息状态必须为 V2NIMMessagesendingState.V2NIM_MESSAGE_SENDING_STATE_SUCCEEDED(1),消息内容与原消息相同。
    • 在登录后、发送消息前调用该方法。
    • 该方法为同步。

    参数说明

    Android
    javapublic static V2NIMMessage createForwardMessage(V2NIMMessage message)
    
    参数名称 类型 是否必填 默认值 描述
    message V2NIMMessage - 待转发的消息体
    iOS
    objective-c+ (V2NIMMessage *)createForwardMessage:(V2NIMMessage *)message;
    
    参数名称 类型 是否必填 默认值 描述
    message V2NIMMessage - 待转发的消息体
    macOS/Windows
    cppstatic nstd::optional<V2NIMMessage> createForwardMessage(V2NIMMessage message);
    
    参数名称 类型 是否必填 默认值 描述
    message V2NIMMessage - 待转发的消息体
    Web/uni-app/小程序
    typescriptcreateForwardMessage(message: V2NIMMessage): V2NIMMessage | null
    
    参数名称 类型 是否必填 默认值 描述
    message V2NIMMessage - 待转发的消息体
    Harmony
    typescriptcreateForwardMessage(message: V2NIMMessage): V2NIMMessage | null
    
    参数名称 类型 是否必填 默认值 描述
    message V2NIMMessage - 待转发的消息体

    示例代码

    Android
    java// 被转发的消息
    // V2NIMMessage v2Message = ;  
    V2NIMMessage v2ForwardMessage = V2NIMMessageCreator.createForwardMessage(v2Message);
    
    iOS
    objective-cV2NIMMessage *message = [V2NIMMessageCreator createForwardMessage:originalMessage];
    
    macOS/Windows
    cppauto forwardMessage = V2NIMMessageCreator::createForwardMessage(message);
    if(!forwardMessage) {
        // create forward message failed
    }
    
    Web/uni-app/小程序
    typescripttry {
        const newMessage = nim.V2NIMMessageCreator.createForwardMessage(message)
    } catch(err) {
        // todo error
    }
    
    Harmony
    typescripttry {
        const newMessage = nim.messageCreator.createForwardMessage(message)
    } catch(err) {
        // todo error
    }
    

    返回值

    已创建的消息对象 V2NIMMessage

    createTipsMessage

    接口描述

    创建一条提示消息。

    • 在登录后、发送消息前调用该方法。
    • 该方法为同步。

    参数说明

    Android
    javapublic static V2NIMMessage createTipsMessage(String text)
    
    参数名称 类型 是否必填 默认值 描述
    text String - 提示消息内容
    iOS
    objective-c+ (V2NIMMessage *)createTipsMessage:(NSString *)text;
    
    参数名称 类型 是否必填 默认值 描述
    text NSString * - 提示消息内容
    macOS/Windows
    cppstatic nstd::optional<V2NIMMessage> createTipsMessage(nstd::string text);
    
    参数名称 类型 是否必填 默认值 描述
    text nstd::string - 提示消息内容
    Web/uni-app/小程序
    typescriptcreateTipsMessage(text: string): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    text string - 提示消息内容
    Harmony
    typescriptcreateTipsMessage(text: string): V2NIMMessage
    
    参数名称 类型 是否必填 默认值 描述
    text string - 提示消息内容

    示例代码

    Android
    javaV2NIMMessage v2TipMessage = V2NIMMessageCreator.createTipsMessage("tip content");
    
    iOS
    objective-cV2NIMessage *message = [V2NIMMessageCreator createTipsMessage:"tip text"];
    
    macOS/Windows
    cppauto tipMessage = V2NIMMessageCreator::createTipsMessage("text");
    if(!tipMessage) {
        // create tip message failed
    }
    
    Web/uni-app/小程序
    typescripttry {
        const newMessage = nim.V2NIMMessageCreator.createTipsMessage("hint")
    } catch(err) {
        // todo error
    }
    
    Harmony
    typescripttry {
        const newMessage = nim.messageCreator.createTipsMessage("hint")
    } catch(err) {
        // todo error
    }
    

    返回值

    已创建的消息对象 V2NIMMessage

    此文档是否对你有帮助?
    有帮助
    去反馈
    • 支持平台
    • API 概览
    • 接口类
    • createTextMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createImageMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createAudioMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createVideoMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createFileMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createLocationMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createCustomMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createForwardMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createTipsMessage
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值