createGroup method
Future<V2TimValueCallback<String> >
createGroup({
- String? groupID,
- required String groupType,
- required String groupName,
- String? notification,
- String? introduction,
- String? faceUrl,
- bool? isAllMuted,
- int? addOpt,
- List<
V2TimGroupMember> ? memberList, - bool? isSupportTopic,
- int? approveOpt,
- bool? isEnablePermissionGroup,
- int? defaultPermissions,
override
创建群组
参数
groupType 群类型,我们为您预定义好了四种常用的群类型,您也可以在控制台定义自己需要的群类型:
"Work" :工作群,成员上限 200 人,不支持由用户主动加入,需要他人邀请入群,适合用于类似微信中随意组建的工作群(对应老版本的 Private 群)。
"Public" :公开群,成员上限 2000 人,任何人都可以申请加群,但加群需群主或管理员审批,适合用于类似 QQ 中由群主管理的兴趣群。
"Meeting" :会议群,成员上限 6000 人,任何人都可以自由进出,且加群无需被审批,适合用于视频会议和在线培训等场景(对应老版本的 ChatRoom 群)。
"AVChatRoom" :直播群,人数无上限,任何人都可以自由进出,消息吞吐量大,适合用作直播场景中的高并发弹幕聊天室。
groupID 自定义群组 ID,可以传 null。传 null 时系统会自动分配 groupID,并通过 callback 返回。
groupName 群名称,不能为 null。
注意
不支持在同一个 SDKAPPID 下创建两个相同 groupID 的群
/// info 自定义群组信息,可以设置 groupID | groupType | groupName | notification | introduction | faceURL 字段
memberList 指定初始的群成员(直播群 AVChatRoom 不支持指定初始群成员,memberList 请传 null)
Implementation
@override
Future<V2TimValueCallback<String>> createGroup({
String? groupID,
required String groupType,
required String groupName,
String? notification,
String? introduction,
String? faceUrl,
bool? isAllMuted,
int? addOpt,
List<V2TimGroupMember>? memberList,
bool? isSupportTopic,
int? approveOpt,
bool? isEnablePermissionGroup,
int? defaultPermissions,
}) async {
Map<String, dynamic> param = {
"groupID": groupID,
"groupType": groupType,
"groupName": groupName,
"notification": notification,
"introduction": introduction,
"faceUrl": faceUrl,
"isAllMuted": isAllMuted,
"addOpt": addOpt,
"memberList": memberList?.map((e) => e.toJson()).toList(),
"isSupportTopic": isSupportTopic,
"approveOpt": approveOpt,
"isEnablePermissionGroup": isEnablePermissionGroup ?? false,
"defaultPermissions": defaultPermissions ?? 0,
};
var resp = V2TimValueCallback<String>.fromJson(
formatJson(
await _channel.invokeMethod(
"createGroup",
buildGroupManagerParam(
param,
),
),
),
);
log("createGroup", param, resp.toLogString());
return resp;
}