createGroup
功能介绍
说明
(1)创建者为群主身份创建群组,并指定群管理员和群普通成员,成功后,所有成员立刻入群;
(2)群成员建议一次最大 1000 个,因为数量过多可能会导致数据包太大被后台拒绝。
注意
(1)如果指定 groupID,则 groupID 不能重复;
(2)如果不指定 groupID,服务端会生成唯一的 groupID。
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron/MiniProgram
- React-Native
- Unity
函数原型
Future<GroupInfo> createGroup({
required GroupInfo groupInfo,
List<String> memberUserIDs = const [],
List<String> adminUserIDs = const [],
String? ownerUserID,
String? operationID,
})
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
groupInfo | GroupInfo | 是 | 群信息 |
memberUserIDs | List<String> | 是 | 邀请进入的群成员列表 |
adminUserIDs | List<String> | 否 | 邀请进入并设为管理员的列表 |
ownerUserID | String | 否 | 群主 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
~ | GroupInfo | 成功返回 |
代码示例
final groupInfo = await OpenIM.iMManager.groupManager.createGroup(
groupInfo: GroupInfo(
groupID: '',
groupName: groupName,
faceURL: faceURL,
groupType: GroupType.work,
),
memberUserIDs: allList.where((e) => e.userID != OpenIM.iMManager.userID)
.map((e) => e.userID!)
.toList(),
);
// todo
函数原型
- (void)createGroup:(OIMGroupCreateInfo *)groupCreateInfo
onSuccess:(nullable OIMGroupInfoCallback)onSuccess
onFailure:(nullable OIMFailureCallback)onFailure;
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
groupCreateInfo | OIMGroupCreateInfo | 是 | 创建群的初始化信息 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
onSuccess | OIMGroupInfo | 成功返回 |
onFailure | OIMFailureCallback | 失败返回 |
代码示例
OIMGroupCreateInfo *group = [OIMGroupCreateInfo new];
group.groupName = @"";
group.introduction = @"";
[OIMManager.manager createGroup:group
onSuccess:^(OIMGroupInfo * _Nullable groupInfo) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];
函数原型
public void createGroup(List<String> memberUserIDs, List<String> adminUserIDs,
GroupInfo groupInfo, String ownerUserID, OnBase<GroupInfo> callBack)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
groupInfo | GroupInitInfo | 是 | 群聊基础信息 |
memberUserIDs | string[] | 是 | 邀请进入的群成员列表 |
adminUserIDs | string[] | 否 | 邀请进入并设为管理员的列表 |
ownerUserID | string | 否 | 群主 ID |
callBack | OnBase<GroupInfo> | 是 | 回调接口 |
返回结果
代码示例
OpenIMClient.getInstance().groupManager.createGroup(memberUserIDs, adminUserIDs,
groupInfo, ownerUserID, new OnBase<String>() {
@Override
public void onError(int code, String error) {
}
@Override
public void onSuccess(String data) {
}
});
函数原型
IMSDK.createGroup({
groupInfo:Partial<GroupItem>,
memberUserIDs: string[],
adminUserIDs?: string[],
ownerUserID?: string
}, operationID?: string): Promise<WsResponse<GroupItem>>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
groupInfo | Partial<GroupItem> | 是 | 群聊基础信息 |
memberUserIDs | string[] | 是 | 邀请进入的群成员列表 |
adminUserIDs | string[] | 否 | 邀请进入并设为管理员的列表 |
ownerUserID | string | 否 | 群主 ID |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<WsResponse<GroupItem>> | 调用成功回调 |
Promise.catch() | Promise<WsResponse> | 调用失败回调 |
代码示例
import { getSDK } from '@openim/wasm-client-sdk';
const IMSDK = getSDK();
// use in electron with ffi
// import { getWithRenderProcess } from '@openim/electron-client-sdk/lib/render';
// const { instance: IMSDK } = getWithRenderProcess();
// use in mini program
// import { OpenIMSDK } from 'open-im-sdk';
// const IMSDK = new OpenIMSDK();
IMSDK.createGroup({
groupInfo: {
groupName: '',
groupType: 2,
},
memberUserIDs: [''],
})
.then(() => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
IMSDK.asyncApi('createGroup', operationID: string, {
groupInfo: Partial<GroupItem>,
memberUserIDs: string[],
adminUserIDs?: string[],
ownerUserID?: string
}): Promise<GroupItem>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
groupInfo | Partial<GroupItem> | 是 | 群聊基础信息 |
memberUserIDs | string[] | 是 | 邀请进入的群成员列表 |
adminUserIDs | string[] | 否 | 邀请进入并设为管理员的列表 |
ownerUserID | string | 否 | 群主 ID |
返回结果
通过
openim-uniapp-polyfill
包将函数 Promise 化,调用时需要使用then
和catch
判断并处理成功和失败回调。
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<GroupItem> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('createGroup', IMSDK.uuid(), {
groupInfo: {
groupName: '',
groupType: 2,
},
memberUserIDs: [''],
})
.then((data) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
OpenIMSDKRN.createGroup({
groupInfo: Partial<GroupItem>,
memberUserIDs: string[],
adminUserIDs?: string[],
ownerUserID?: string
}, operationID: string): Promise<GroupItem>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
groupInfo | Partial<GroupItem> | 是 | 群聊基础信息 |
memberUserIDs | string[] | 是 | 邀请进入的群成员列表 |
adminUserIDs | string[] | 否 | 邀请进入并设为管理员的列表 |
ownerUserID | string | 否 | 群主 ID |
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<GroupItem> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
OpenIMSDKRN.createGroup({
groupInfo: {
groupName: '',
groupType: 2,
},
memberUserIDs: [''],
}, 'operationID')
.then((data) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
public static void CreateGroup(OnBase<GroupInfo> cb, CreateGroupReq groupReqInfo)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
cb | OnBase<GroupInfo> | 是 | 回调 |
groupReqInfo | CreateGroupReq | 是 | 建群参数 |
返回结果
代码示例
IMSDK.CreateGroup((groupInfo,errCode,errMsg)=>{
},new CreateGroupReq(){
MemberUserIDs={""},
GroupInfo = groupInfo,
AdminUserIDs = {},
OwnerUserID = "",
});