消息构建
更新时间: 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 | 是 | - | |
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 | 是 | - | |
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 | 是 | - | |
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 | 是 | - | |
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
此文档是否对你有帮助?