加入群组管理
本文档旨在指导开发者如何使用融云即时通讯 Flutter IMLib SDK 实现主动加入群组、邀请用户加入群组、 用户同意或拒绝加入群组、 管理员同意或拒绝加群申请等功能。
提示
此功能从 5.18.0 版本开始支持。
开通服务
信息托管服务已默认开通,您可以直接使用此功能。
加入群组管理
加入群组管理包含:主动加入群组、邀请加入群组、 用户同意或拒绝加入群组、 管理员同意或拒绝加群申请等功能。
主动加入群组
您可以调用 joinGroup 方法主动加入一个群组。
加入的结果受群组的加入权限 joinPermission 影响,有以下两种情况:
- 群组的加入权限(
joinPermission)为 "需要群主/管理员审批" 时,接口调用成功后RCIMIWCoreErrorCode会返回rcGroupJoinGroupNeedManagerAccept( 25424 ),表示需要等待群主或管理员的审批。同时本人和群主或管理员都会收到onGroupApplicationEvent事件回调。 - 群组的加入权限(
joinPermission)为 "无需审批" 时,接口调用成功后RCIMIWCoreErrorCode会返回success( 0 ),表示加入群组成功。同时本人和群内所有人会收到onGroupOperation事件回调,操作类型为join。
代码示例
Dart
// 群Id
String groupId = "groupId1";
// 创建回调
IRCIMIWJoinGroupCallback callback = IRCIMIWJoinGroupCallback(
onSuccess: (RCIMIWCoreErrorCode? processCode) {
// 加入群组请求成功
print("加入群组请求成功,processCode: $processCode");
},
onError: (RCIMIWCoreErrorCode? code) {
// 加入群组请求失败
print("加入群组请求失败,code: $code");
},
);
// 调用主动加入群组方法
int? code = await engine?.joinGroup(
groupId,
callback: callback,
);
邀请他人加入群组
此接口的使用受群组邀请角色权限 invitePermission 的影响,有权限的用户才可以调用 inviteUsersToGroup 方法邀请他人加入群组。
代码示例
Dart
// 群Id
String groupId = "groupId1";
// 用户ID列表
List<String> userIds = ["userId1", "userId2", "userId3"];
// 创建回调
IRCIMIWInviteUsersToGroupCallback callback = IRCIMIWInviteUsersToGroupCallback(
onSuccess: (RCIMIWCoreErrorCode? processCode) {
// 邀请加入群组请求成功
print("邀请加入群组请求成功,processCode: $processCode");
},
onError: (RCIMIWCoreErrorCode? code) {
// 邀请加入群组请求失败
print("邀请加入群组请求失败,code: $code");
},
);
// 调用邀请他人加入群组方法
int? code = await engine?.inviteUsersToGroup(
groupId,
userIds,
callback: callback,
);
邀请用户加入群组的行为受到以下三方面的影响:
- 加入权限(
joinPermission):是否需要群主或管理员验证。 - 邀请人角色(
role):邀请人是群主或管理员,还是普通用户。 - 被邀请人处理权限(
inviteHandlePermission):是否需要被邀请人同意才能加入群组。