邀请机制
更新时间: 2022/09/30 02:45:38
网易云信 NIM Flutter SDK 的AvSignallingService
提供信令服务相关方法和信令相关监听的回调。
使用限制
限制项 | 说明 |
---|---|
频道成员人数 | 人数限制:100 人 |
信令呼叫唯一标识 | 长度限制:128 字符 |
信令扩展字段 | 长度限制:4096 字符 |
推送 payload | 长度限制:4096 字符 |
推送内容 | 长度限制:500 字符 |
推送标题 | 长度限制:32 字符 |
邀请他人
- API原型
dart /// 邀请他人加入频道
/// 该接口用于邀请对方加入频道,邀请者必须是创建者或者是频道中成员。如果需要对离线成员邀请,
/// 可以打开离线邀请开关并填写推送信息,被邀请者上线后通过离线通知接收到该邀请。
/// 错误码如下:
/// 10201:已经成功发出邀请但是对方不在线(推送可达,但是离线)
/// 10202:已经成功发出邀请但是对方推送不可达
/// 10404:频道不存在
/// 10406:自己不在频道内(仅对于普通用户,频道创建者不在频道内也可以邀请别人)
/// 10407:对方已经频道内
/// 10419:频道人数超限
/// [inviteParam]
Future<NIMResult<void>> invite(InviteParam inviteParam) {
return _platform.invite(inviteParam);
}
- 说明
此接口参数InviteParam
中有一个requestId
,是用来做为此次邀请动作的唯一标识,需要开发者自己生成,并保证唯一性,不同的邀请不能用同一个id,否则可能导致混乱。
- 示例
dartNimCore.instance.avSignallingService
.invite(InviteParam(channelId: channelId, accountId: accountId, requestId: requestId))
.then((value) {
if (value.isSuccess) {
//todo invite success
} else {
//todo invite failed
}
});
取消邀请
- API原型
dart/// 取消邀请
/// 错误码如下:
/// 10404:频道不存在
/// 10408:邀请不存在或已过期 (过期时间2min)
/// 10409:邀请已经拒绝
/// 10410:邀请已经接受
/// [inviteParam]
Future<NIMResult<void>> cancelInvite(InviteParam inviteParam) {
return _platform.cancelInvite(inviteParam);
}
- 说明
参数InviteParam
中的 requestId
需要传入邀请时生成的id。
- 示例
dartNimCore.instance.avSignallingService
.cancelInvite(InviteParam(channelId: channelId, accountId: accountId, requestId: requestId))
.then((value) {
if (value.isSuccess) {
//todo cancel invite success
} else {
//todo cancel invite failed
}
});
接受邀请
- API原型
dart /// 接受对方邀请,但并不代表加入了频道
/// 错误码如下:
/// 10201:已经成功接受邀请但是对方不在线(推送可达,但是离线)
/// 10404:频道不存在
/// 10408:邀请不存在或已过期
/// 10409:邀请已经拒绝
/// 10410:邀请已经接受
/// [paramBuilder]
Future<NIMResult<void>> acceptInvite(InviteParam inviteParam) {
return _platform.acceptInvite(inviteParam);
}
- 示例
dartNimCore.instance.avSignallingService
.acceptInvite(InviteParam(channelId: channelId, accountId: accountId, requestId: requestId))
.then((value) {
if (value.isSuccess) {
//todo accept invite success
} else {
//todo accept invite failed
}
});
拒绝邀请
- API原型
dart /// 拒绝对方邀请
/// 错误码如下:
/// 10201:已经成功拒绝邀请但是对方不在线(推送可达,但是离线)
/// 10404:频道不存在
/// 10408:邀请不存在或已过期
/// 10409:邀请已经拒绝
/// 10410:邀请已经接受
/// [paramBuilder]
Future<NIMResult<void>> rejectInvite(InviteParam inviteParam) {
return _platform.rejectInvite(inviteParam);
}
- 示例
dartNimCore.instance.avSignallingService
.rejectInvite(InviteParam(channelId: channelId, accountId: accountId, requestId: requestId))
.then((value) {
if (value.isSuccess) {
//todo reject invite success
} else {
//todo reject invite failed
}
});
直接呼叫
- API原型
dart /// 直接呼叫 , 用于用户新开一个频道并邀请对方加入频道。该接口为组合接口,等同于用户先创建频道,然后加入频道并邀请对方。
/// 错误码如下:
/// 10201:已经成功发出邀请但是对方不在线(推送可达,但是离线)
/// 10202:已经成功发出邀请但是对方推送不可达
/// 10405:频道已存在
/// [callParamBuilder]
Future<NIMResult<ChannelFullInfo>> call(CallParam callParam) {
return _platform.call(callParam);
}
- 示例
dartNimCore.instance.avSignallingService
.call(CallParam(
channelType: channelType,
requestId: requestId,
accountId: accountId))
.then((value) {
if (value.isSuccess) {
//todo call success
} else {
//todo call failed
}
});
此文档是否对你有帮助?