Flutter API 参考
更新时间: 2025/01/22 14:16:05
网易云信即时通讯 SDK(NetEase IM SDK,简称 NIM SDK)提供信令服务,支持呼叫邀请、频道管理、用户管理、离线消息同步、多端同步和自定义控制信令。
本文介绍信令服务 Flutter 相关 API。
API 概览
信令监听
API | 说明 | 起始版本 |
---|---|---|
listen | 注册信令相关监听器 | V10.4.0 |
cancel | 取消注册信令相关监听器 | V10.4.0 |
信令操作
API | 说明 | 起始版本 |
---|---|---|
call | 直接呼叫对方加入房间 | V10.4.0 |
callSetup | 呼叫建立,包括加入信令频道房间,同时接受对方呼叫 | V10.4.0 |
createRoom | 创建信令频道房间 | V10.4.0 |
closeRoom | 关闭信令频道房间 | V10.4.0 |
joinRoom | 加入信令频道房间 | V10.4.0 |
leaveRoom | 离开信令频道房间 | V10.4.0 |
invite | 邀请成员加入信令频道房间 | V10.4.0 |
cancelInvite | 取消邀请 | V10.4.0 |
rejectInvite | 拒绝邀请 | V10.4.0 |
acceptInvite | 接受邀请 | V10.4.0 |
sendControl | 发送自定义控制信令 | V10.4.0 |
getRoomInfoByChannelName | 根据频道名称查询频道房间信息 | V10.4.0 |
接口
SignallingService
类提供信令服务相关接口。
listen
接口描述
注册信令服务相关监听。
注册成功后,当事件发生时,SDK 会触发相关回调通知。
- 建议在初始化后调用该方法。
- 全局只需注册一次。
- 该方法为同步。
回调事件
onOnlineEvent
:在线状态事件回调,返回在线事件对象,包括关闭房间、加入房间、离开房间、邀请加入房间、取消邀请加入房间、拒绝加入邀请、接受加入邀请、控制事件。当本地端或多端同步在线事件成功时会触发该回调。onOfflineEvent
:离线状态事件回调,返回离线事件对象,包括关闭房间、加入房间、离开房间、邀请加入房间、取消邀请加入房间、拒绝加入邀请、接受加入邀请。当本地端或多端同步离线事件成功时会触发该回调。onMultiClientEvent
:多端事件操作回调,返回多端操作的事件对象,包括拒绝加入邀请、接受加入邀请。当多端操作事件成功时会触发该回调。onSyncRoomInfoList
:登录后同步信令频道房间列表回调。返回当前未退出的信令频道房间列表。
示例代码
DartNimCore.instance.signallingService.onOnlineEvent.listen((event) {
//todo something
});
NimCore.instance.signallingService.onOfflineEvent.listen((event) {
//todo something
});
NimCore.instance.signallingService.onMultiClientEvent.listen((event) {
//todo something
});
NimCore.instance.signallingService.onMultiClientEvent.listen((event) {
//todo something
});
返回值
无
cancel
接口描述
取消注册信令服务相关监听。
该方法为同步。
示例代码
Dartvar listener = NimCore.instance.signallingService.onOnlineEvent.listen((event) {
//todo something
});
listener.cancel();
返回值
无
call
接口描述
直接呼叫对方加入信令频道房间。
建立呼叫的正常流程如下:
flowchart LR
classDef default fill:#337EFF,stroke:#337EFF,stroke-width:0px,color:#FFFFFF;
A("创建信令频道房间(createRoom)") --> B("自己加入房间(joinRoom)") --> C("邀请对方加入房间(invite)")
click A "#createRoom"
click B "#joinRoom"
click C "#invite"
为了加速呼叫流程,网易云信信令通过将几个接口进行组合封装。本接口即组合上述三个接口,直接呼叫对方加入信令频道房间。如果您需要精确控制每一步,请通过调用单个接口实现。
参数说明
DartFuture<NIMResult<NIMSignallingCallResult>> call(
NIMSignallingCallParams params) {
throw UnimplementedError('call() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
params |
NIMSignallingCallParams | 是 | - | 呼叫配置参数。 |
示例代码
DartNimCore.instance.signallingService.call(params).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<NIMSignallingCallResult>:呼叫回包,调用呼叫接口成功的返回结果
callSetup
接口描述
接通呼叫。
接通呼叫的正常流程如下:
flowchart LR
classDef default fill:#337EFF,stroke:#337EFF,stroke-width:0px,color:#FFFFFF;
A("加入信令频道房间(joinRoom)") --> B("接受对方的呼叫(acceptInvite)")
click A "#joinRoom"
click B "#acceptInvite"
本接口组合上述两个接口,直接接通呼叫。如果您需要精确控制每一步,请通过调用单个接口实现。
参数说明
DartFuture<NIMResult<NIMSignallingCallSetupResult>> callSetup(
NIMSignallingCallSetupParams params) {
throw UnimplementedError('callSetup() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
params |
NIMSignallingCallSetupParams | 是 | - | 接通呼叫的配置参数。 |
示例代码
DartNimCore.instance.signallingService.callSetup(params).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<NIMSignallingCallSetupResult>:接受呼叫请求的回包,即调用建立呼叫接口成功的返回结果
createRoom
接口描述
创建信令频道房间。
- 频道与房间一一对应,可直接视为同一含义。
- 在服务器中,频道名称存在唯一性,即相同的频道名,在服务器同时只能存在一个。
- 频道房间创建后,默认的有效时间为 2 小时。
- 频道房间中的人数默认上限为 100。
参数说明
DartFuture<NIMResult<NIMSignallingChannelInfo>> createRoom(
NIMSignallingChannelType channelType,
String? channelName,
String? channelExtension) {
throw UnimplementedError('createRoom() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelType |
NIMSignallingChannelType | 是 | - | 频道类型。可选择音频、视频或自定义频道。 房间创建后与频道类型绑定。 |
channelName |
String | 否 | - | 频道名称。 建议使用与业务有相关场景的名称,便于页面显示。 |
channelExtension |
String | 否 | - | 频道相关扩展字段,JSON 格式,长度最大为 4096 字符。 |
示例代码
DartNimCore.instance.signallingService.createRoom(type,'name',null).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<NIMSignallingChannelInfo>:信令频道信息
closeRoom
接口描述
关闭信令频道房间。
房间内的所有人都可以关闭信令频道房间。关闭后,房间内的所有人都会收到房间被关闭的通知。
如果房间内的用户都没有主动关闭信令频道房间,那么服务器默认在会 2 小时后销毁该信令频道房间(2 小时内没有新用户加入房间,如有,从加入后再开始计算)。
参数说明
DartFuture<NIMResult<void>> closeRoom(
String channelId, bool? offlineEnabled, String? serverExtension) {
throw UnimplementedError('closeRoom() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 频道 ID,房间的唯一标识。 |
offlineEnabled |
bool | 否 | false | 是否需要存离线消息。默认为 false,即不存。如果设置为 true,存离线,则用户离线状态下再次上线会收到通知消息。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
示例代码
DartNimCore.instance.signallingService.closeRoom(roomId,true,null).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<void>
joinRoom
接口描述
加入信令频道房间。加入房间后,房间内的所有人都会收到通知。
参数说明
DartFuture<NIMResult<NIMSignallingRoomInfo>> joinRoom(
NIMSignallingJoinParams params) {
throw UnimplementedError('joinRoom() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
params |
NIMSignallingJoinParams | 是 | - | 加入频道房间的配置参数。 |
示例代码
DartNimCore.instance.signallingService.joinRoom(params).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<NIMSignallingRoomInfo>:信令频道房间成员信息
leaveRoom
接口描述
离开信令频道房间。离开房间后,房间内的所有人都会收到通知。
参数说明
DartFuture<NIMResult<void>> leaveRoom(
String channelId, bool? offlineEnabled, String? serverExtension) {
throw UnimplementedError('leaveRoom() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 频道 ID,房间的唯一标识。 |
offlineEnabled |
bool | 否 | false | 是否需要存离线消息。默认为 false,即不存。如果设置为 true,存离线,则用户离线状态下再次上线会收到通知消息。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
示例代码
DartNimCore.instance.signallingService.leaveRoom('channelId',true,null).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<void>
invite
接口描述
邀请成员加入信令频道房间。房间内的所有人都能邀请他人进入房间。
发出邀请后,被邀请者会收到通知。
邀请方在邀请时可以配置是否向被邀请方发送推送消息,默认不推送。如果选择推送,但未配置推送相关信息,则服务器将默认发送以下信息:
- 房间频道类型为音频:xx 邀请您进行语音通话
- 房间频道类型为视频:xx 邀请您进行视频通话
- 房间频道类型为自定义:xx 邀请您进行音视频通话
参数说明
DartFuture<NIMResult<void>> invite(NIMSignallingInviteParams params) {
throw UnimplementedError('invite() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
params |
NIMSignallingInviteParams | 是 | - | 邀请入房的配置参数。 |
示例代码
DartNimCore.instance.signallingService.invite(params).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<void>
cancelInvite
接口描述
取消已发出的进房邀请。
房间内的用户邀请他人进入信令频道房间后,可以取消已发出的进房邀请。取消后,被邀请的用户会收到取消邀请的通知。
只能取消自己发出的邀请,无法影响房间内其他用户发出的邀请。
参数说明
DartFuture<NIMResult<void>> cancelInvite(NIMSignallingCancelInviteParams params) {
throw UnimplementedError('cancelInvite() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
params |
NIMSignallingCancelInviteParams | 是 | - | 取消邀请的配置参数。 |
示例代码
DartNimCore.instance.signallingService.cancelInvite(params).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<void>
rejectInvite
接口描述
拒绝他人邀请入房的请求,即拒绝加入信令频道房间。拒绝后,邀请人会收到被拒绝的通知。
参数说明
DartFuture<NIMResult<void>> rejectInvite(NIMSignallingRejectInviteParams params) {
throw UnimplementedError('rejectInvite() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
params |
NIMSignallingRejectInviteParams | 是 | - | 拒绝邀请的配置参数。 |
示例代码
DartNimCore.instance.signallingService.rejectInvite(params).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<void>
acceptInvite
接口描述
接受他人邀请入房的请求,即加入信令频道房间。接受后,邀请人会收到接受邀请的通知。
参数说明
DartFuture<NIMResult<void>> acceptInvite(NIMSignallingAcceptInviteParams params) {
throw UnimplementedError('acceptInvite() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
params |
NIMSignallingAcceptInviteParams | 是 | - | 接受邀请的配置参数。 |
示例代码
DartNimCore.instance.signallingService.acceptInvite(params).then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<void>
sendControl
接口描述
发送自定义控制信令,用于实现自定义相关的业务逻辑。
发送时可以指定接收用户,如果不指定,则默认发送给频道房间内的所有人。发送成功后,服务器会给在线的接收者发送一个控制通知。
非房间内的用户也可以调用该接口,但是接收者必须在频道房间内,或者接收者是频道房间创建者。
参数说明
DartFuture<NIMResult<void>> sendControl(
String channelId, String receiverAccountId, String? serverExtension) {
throw UnimplementedError('sendControl() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 频道 ID,房间的唯一标识。 |
receiverAccountId |
String | 否 | 默认发送给房间内的所有人 | 接收者账号 ID。 |
serverExtension |
String | 否 | - | 服务端扩展字段,可通过该字段自定义控制数据,JSON 格式,长度最大为 4096 字符。 |
示例代码
DartNimCore.instance.signallingService.sendControl('channelId', 'receiverAccountId', 'serverExtension').then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<void>
getRoomInfoByChannelName
接口描述
根据频道名称查询频道房间信息。
参数说明
DartFuture<NIMResult<NIMSignallingRoomInfo>> getRoomInfoByChannelName(
String channelName) {
throw UnimplementedError('getRoomInfoByChannelName() is not implemented');
}
参数名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelName |
String | 是 | - | 频道名称,在服务器中具有唯一性。 |
示例代码
Dart NimCore.instance.signallingService.getRoomInfoByChannelName('channelName').then((result){
if (result.isSuccess) {
//todo success
}else{
//todo error
}
});
返回值
NIMResult<NIMSignallingRoomInfo>:信令频道房间成员信息
类/枚举
以下介绍信令相关的类和枚举信息。
NIMSignallingCallParams
直接呼叫的配置参数。
DartNIMSignallingCallParams({
required String calleeAccountId,
required String requestId,
required NIMSignallingChannelType channelType,
String? channelName,
String? channelExtension,
String? serverExtension,
NIMSignallingConfig? signallingConfig,
NIMSignallingPushConfig? pushConfig,
NIMSignallingRtcConfig? rtcConfig,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
calleeAccountId |
String | 是 | - | 被呼叫者的用户账号 ID,为空或为空字符串则返回参数错误。 |
requestId |
String | 是 | - | 请求 ID,请求的唯一标识,即相同的 RequestId 表示同一个请求。随机数,最大长度 128 位字符,可通过 UUID 实现。 |
channelType |
NIMSignallingChannelType | 是 | - | 频道类型。可选择音频、视频或自定义频道。 房间创建后与频道类型绑定。 |
channelName |
String | 否 | - | 频道名称。 建议使用与业务有相关场景的名称,便于页面显示。 |
channelExtension |
String | 否 | - | 频道相关扩展字段,JSON 格式,长度最大为 4096 字符。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
signallingConfig |
NIMSignallingConfig | 否 | - | 信令相关配置项。 |
pushConfig |
NIMSignallingPushConfig | 否 | - | 推送相关配置项。 |
rtcConfig |
NIMSignallingRtcConfig | 否 | - | 音视频相关配置项。 |
NIMSignallingConfig
信令相关配置参数。
DartNIMSignallingConfig({
bool offlineEnabled = true,
bool unreadEnabled = true,
int? selfUid,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
offlineEnabled |
bool | 否 | true | 是否需要存离线消息。默认为 true,即存离线,当用户离线状态下再次上线会收到通知消息。 |
unreadEnabled |
bool | 否 | true | 是否需要计未读数。默认为 true,需要。 |
selfUid |
int | 否 | - | 用户 uid(音视频的用户账号 ID)。 |
NIMSignallingPushConfig
推送相关配置参数。
DartNIMSignallingPushConfig({
bool? pushEnabled,
String? pushTitle,
String? pushContent,
String? pushPayload,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
pushEnabled |
bool | 否 | true | 是否需要推送。默认为 true,需要。 |
pushTitle |
String | 否 | - | 推送标题。pushEnabled 为 true 时,该字段必填。 |
pushContent |
String | 否 | - | 推送文案。pushEnabled 为 true 时,该字段必填。 |
pushPayload |
String | 否 | - | 推送数据。pushEnabled 为 true 时,该字段必填。 |
NIMSignallingRtcConfig
音视频相关配置参数。
DartNIMSignallingRtcConfig({
String? rtcChannelName,
int? rtcTokenTtl,
String? rtcParams,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
rtcChannelName |
String | 否 | - | 网易云信音视频房间频道的名称。 |
rtcTokenTtl |
int | 否 | 10*60(十分钟) | 音视频房间 token 的过期时间,单位为 s(秒)。 |
rtcParams |
String | 否 | - | 音视频 SDK 相关参数,JSON 格式。。 |
NIMSignallingCallResult
呼叫回包,即调用呼叫接口成功的返回结果。
DartNIMSignallingCallResult({
NIMSignallingRoomInfo? roomInfo,
NIMSignallingRtcInfo? rtcInfo,
required int callStatus,
})
名称 | 类型 | 是否必返回 | 是否只读 | 说明 |
---|---|---|---|---|
roomInfo |
NIMSignallingRoomInfo | 是 | 是 | 频道房间的相关信息。 |
rtcInfo |
NIMSignallingRtcInfo | 否 | 是 | 音视频房间的相关信息。 |
callStatus |
int | 否 | 是 | 呼叫状态。 |
NIMSignallingChannelInfo
信令频道信息。
DartNIMSignallingChannelInfo({
String? channelName,
required String channelId,
required NIMSignallingChannelType channelType,
String? channelExtension,
int? createTime,
int? expireTime,
required String creatorAccountId,
})
名称 | 类型 | 是否必返回 | 是否只读 | 说明 |
---|---|---|---|---|
channelName |
String | 否 | 是 | 信令频道名称。 如果请求时未传入,则该字段为空。 |
channelId |
String | 是 | 是 | 信令频道 ID,频道房间的唯一标识。 |
channelType |
NIMSignallingChannelType | 是 | 是 | 频道类型,房间创建后与频道类型绑定。 |
channelExtension |
String | 否 | - | 频道相关扩展字段,JSON 格式,长度最大为 4096 字符。 |
creatorAccountId |
String | 是 | - | 创建者的用户账号 ID。 |
createTime |
int | 是 | - | 频道房间的创建时间。 |
expireTime |
int | 是 | - | 频道房间的过期时间。 |
NIMSignallingRtcInfo
音视频相关信息。
- 如果请求时传入了音视频房间频道信息(NIMSignallingRtcConfig.rtcChannelName),则服务器会同时返回进入音视频房间的 Token 信息。
- 如果未传入,则不返回。
DartNIMSignallingRtcInfo({
required String rtcToken,
int? rtcTokenTtl,
String? rtcParams,
})
名称 | 类型 | 是否必返回 | 说明 |
---|---|---|---|
rtcToken |
String | 否 | 进入音视频房间对应的 Token。 |
rtcTokenTtl |
int | 否 | 音视频房间 Token 的过期时间。 |
rtcParams |
String | 否 | 频道类型,房间创建后与频道类型绑定。 |
NIMSignallingCallSetupParams
呼叫建立的配置参数。包含接收方接入的信令频道房间信息和音视频房间相关信息。
DartNIMSignallingCallSetupParams({
required String channelId,
required String callerAccountId,
required String requestId,
String? serverExtension,
NIMSignallingConfig? signallingConfig,
NIMSignallingRtcConfig? rtcConfig,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 信令频道 ID。 |
callerAccountId |
String | 是 | - | 接受呼叫的用户账号 ID,为空或为空字符串则返回参数错误。 |
requestId |
String | 是 | - | 请求 ID,请求的唯一标识,即相同的 RequestId 表示同一个请求。随机数,最大长度 128 位字符,可通过 UUID 实现。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
signallingConfig |
NIMSignallingConfig | 否 | - | 信令相关配置项(未读配置字段 unreadEnabled 在接受场景无效)。 |
rtcConfig |
NIMSignallingRtcConfig | 否 | - | 音视频相关配置项。 |
NIMSignallingCallSetupResult
接受呼叫请求的回包,即调用建立呼叫接口成功的返回结果。
DartNIMSignallingCallSetupResult({
NIMSignallingRoomInfo? roomInfo,
NIMSignallingRtcInfo? rtcInfo,
required int callStatus,
})
名称 | 类型 | 是否必返回 | 是否只读 | 说明 |
---|---|---|---|---|
roomInfo |
NIMSignallingRoomInfo | 是 | 是 | 频道房间的相关信息。 |
rtcInfo |
NIMSignallingRtcInfo | 否 | 是 | 音视频房间的相关信息。 |
callStatus |
int | 否 | 是 | 呼叫状态。 |
NIMSignallingMember
信令频道房间成员信息。
DartNIMSignallingMember({
required String accountId,
required int uid,
int? joinTime,
int? expireTime,
required String deviceId,
})
名称 | 类型 | 是否必返回 | 是否只读 | 说明 |
---|---|---|---|---|
accountId |
String | 是 | 是 | 成员账号 ID。 |
uid |
int | 是 | 是 | 成员 UID。业务参数,一般映射为音视频房间 ID。 |
joinTime |
int | 是 | 是 | 用户加入信令频道房间的时间。 |
expireTime |
int | 是 | 是 | 用户信令频道房间的过期时间。 |
deviceId |
String | 是 | 是 | 成员操作的设备 ID。 |
NIMSignallingRoomInfo
信令频道房间成员信息。
DartNIMSignallingRoomInfo({
NIMSignallingChannelInfo? channelInfo,
List<NIMSignallingMember>? members,
})
名称 | 类型 | 是否必返回 | 是否只读 | 说明 |
---|---|---|---|---|
channelInfo |
NIMSignallingChannelInfo | 是 | 是 | 信令频道房间的相关信息(其中频道房间的国企时间会根据时间进行更新调整)。 |
members |
List<NIMSignallingMember> | 是 | 是 | 成员列表信息。 |
NIMSignallingJoinParams
加入信令频道房间的配置参数。
DartNIMSignallingJoinParams({
required String channelId,
String? serverExtension,
NIMSignallingConfig? signallingConfig,
NIMSignallingRtcConfig? rtcConfig,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 信令频道 ID。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
signallingConfig |
NIMSignallingConfig | 否 | - | 信令相关配置项。 |
rtcConfig |
NIMSignallingRtcConfig | 否 | - | 音视频相关配置项。 |
NIMSignallingInviteParams
邀请成员加入信令频道房间的配置参数。
DartNIMSignallingInviteParams({
required String channelId,
required String inviteeAccountId,
required String requestId,
String? serverExtension,
NIMSignallingConfig? signallingConfig,
NIMSignallingPushConfig? pushConfig,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 信令频道 ID。 |
inviteeAccountId |
String | 是 | - | 被邀请者的用户账号 ID,为空或为空字符串则返回参数错误。 |
requestId |
String | 是 | - | 请求 ID,请求的唯一标识,即相同的 RequestId 表示同一个请求。随机数,最大长度 128 位字符,可通过 UUID 实现。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
signallingConfig |
NIMSignallingConfig | 否 | - | 信令相关配置项(其中 selfUid 字段在此场景中无效)。 |
pushConfig |
NIMSignallingPushConfig | 否 | - | 推送相关配置项。 |
NIMSignallingCancelInviteParams
取消邀请成员加入信令频道房间请求的配置参数。
DartNIMSignallingCancelInviteParams({
required String channelId,
required String inviteeAccountId,
required String requestId,
String? serverExtension,
bool offlineEnabled = true,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 信令频道 ID。 |
inviteeAccountId |
String | 是 | - | 被邀请者的用户账号 ID,为空或为空字符串则返回参数错误。 |
requestId |
String | 是 | - | 请求 ID,请求的唯一标识,即相同的 RequestId 表示同一个请求。随机数,最大长度 128 位字符,可通过 UUID 实现。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
offlineEnabled |
bool | 否 | true | 是否需要存离线消息。默认为 true,即存离线,当用户离线状态下再次上线会收到通知消息。 |
NIMSignallingRejectInviteParams
拒绝加入频道房间邀请的配置参数。
DartNIMSignallingRejectInviteParams({
required String channelId,
required String inviterAccountId,
required String requestId,
String? serverExtension,
bool offlineEnabled = true,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 信令频道 ID。 |
inviterAccountId |
String | 是 | - | 邀请者的用户账号 ID,为空或为空字符串则返回参数错误。 |
requestId |
String | 是 | - | 请求 ID,请求的唯一标识,即相同的 RequestId 表示同一个请求。随机数,最大长度 128 位字符,可通过 UUID 实现。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
offlineEnabled |
bool | 否 | true | 是否需要存离线消息。默认为 true,即存离线,当用户离线状态下再次上线会收到通知消息。 |
NIMSignallingAcceptInviteParams
接受加入频道房间邀请的配置参数。
DartNIMSignallingAcceptInviteParams({
required String channelId,
required String inviterAccountId,
required String requestId,
String? serverExtension,
bool offlineEnabled = true,
})
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId |
String | 是 | - | 信令频道 ID。 |
inviterAccountId |
String | 是 | - | 邀请者的用户账号 ID,为空或为空字符串则返回参数错误。 |
requestId |
String | 是 | - | 请求 ID,请求的唯一标识,即相同的 RequestId 表示同一个请求。随机数,最大长度 128 位字符,可通过 UUID 实现。 |
serverExtension |
String | 否 | - | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
offlineEnabled |
bool | 否 | true | 是否需要存离线消息。默认为 true,即存离线,当用户离线状态下再次上线会收到通知消息。 |
NIMSignallingEvent
信令事件信息。
DartNIMSignallingEvent({
required NIMSignallingEventType eventType,
required NIMSignallingChannelInfo? channelInfo,
required String operatorAccountId,
String? serverExtension,
required int time,
String? inviteeAccountId,
String? inviterAccountId,
String? requestId,
NIMSignallingPushConfig? pushConfig,
bool? unreadEnabled,
NIMSignallingMember? member,
})
名称 | 类型 | 是否必返回 | 是否只读 | 说明 |
---|---|---|---|---|
eventType |
NIMSignallingEventType | 是 | 是 | 信令频道事件类型。 |
channelInfo |
NIMSignallingChannelInfo | 是 | 是 | 信令频道房间信息。 |
operatorAccountId |
String | 是 | 是 | 操作者用户账号 ID。 |
serverExtension |
String | 否 | 是 | 服务端扩展字段,JSON 格式,长度最大为 4096 字符。 |
time |
int | 是 | 是 | 是否需要存离线消息。默认为 true,即存离线,当用户离线状态下再次上线会收到通知消息。 |
inviteeAccountId |
String | 否 | 是 | 被邀请者的用户账号 ID。当邀请或取消邀请他人加入信令频道房间的事件包含该字段。 |
inviterAccountId |
String | 否 | 是 | 邀请者的用户账号 ID。当对方接受或者拒绝邀请的事件包含该字段。 |
requestId |
String | 否 | 是 | 本次请求发起产生的请求 ID, 以下事件包含该字段: |
pushConfig |
NIMSignallingPushConfig | 否 | 是 | 推送相关配置,邀请加入信令频道房间的事件包含该字段,可能为空(依赖于发起方)。 |
unreadEnabled |
bool | 否 | 是 | 是否需要计未读数。默认为 true,需要。 |
member |
NIMSignallingMember | 否 | 是 | 频道房间成员信息,成员加入房间事件包含该字段。 |
NIMSignallingChannelType
信令频道类型。
枚举类型 | 枚举值 | 说明 |
---|---|---|
nimSignallingChannelTypeAudio | 1 | 音频频道 |
nimSignallingChannelTypeVideo | 2 | 视频频道 |
nimSignallingChannelTypeCustom | 3 | 自定义频道 |
NIMSignallingEventType
信令频道事件类型。
枚举类型 | 枚举值 | 说明 |
---|---|---|
NIMSignallingEventTypeUnknown | 0 | 未知 |
NIMSignallingEventTypeClose | 1 | 关闭信令频道房间 |
NIMSignallingEventTypeJoin | 2 | 加入信令频道房间 |
NIMSignallingEventTypeInvite | 3 | 邀请加入信令频道房间 |
NIMSignallingEventTypeCancelInvite | 4 | 取消邀请加入信令频道房间 |
NIMSignallingEventTypeReject | 5 | 拒绝入房的邀请 |
NIMSignallingEventTypeAccept | 6 | 接受入房的邀请 |
NIMSignallingEventTypeLeave | 7 | 离开信令频道房间 |
NIMSignallingEventTypeControl | 8 | 自定义控制命令 |