createGroup method

  1. @override
Future<V2TimValueCallback<String>> createGroup({
  1. String? groupID,
  2. required String groupType,
  3. required String groupName,
  4. String? notification,
  5. String? introduction,
  6. String? faceUrl,
  7. bool? isAllMuted,
  8. int? addOpt,
  9. List<V2TimGroupMember>? memberList,
  10. bool? isSupportTopic,
  11. int? approveOpt,
  12. bool? isEnablePermissionGroup,
  13. 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;
}