会话分组

更新时间: 2024/06/12 16:26:48

会话分组是将多个相关主题或目的的聊天会话组织在一起的一种方式。通过这种方式,用户可以更轻松地管理和查找他们的历史聊天会话。如何实现会话分组相关功能请参考开发文档会话分组管理

本文介绍 NetEase IM SDK(以下简称 NIM SDK)会话管理相关 API。

支持平台

Android iOS macOS/Windows Web/uni-app/小程序 HarmonyOS

API 概览

会话分组监听

Android/iOS/macOS/Windows
API 描述 起始版本
addConversationGroupListener 注册会话分组监听器 v10.2.0
removeConversationGroupListener 移除会话分组监听器 v10.2.0
Web/uni-app/小程序/HarmonyOS
API 描述 起始版本
on("EventName") 注册会话分组监听 v10.2.0(对应 HarmonyOS v0.6.0)
off("EventName") 取消注册会话分组监听 v10.2.0(对应 HarmonyOS v0.6.0)

会话分组操作

API 描述 起始版本
createConversationGroup 创建一个会话分组 v10.2.0(对应 HarmonyOS v0.6.0)
deleteConversationGroup 删除指定会话分组 v10.2.0(对应 HarmonyOS v0.6.0)
updateConversationGroup 更新指定会话分组 v10.2.0(对应 HarmonyOS v0.6.0)
addConversationsToGroup 将会话添加到分组 v10.2.0(对应 HarmonyOS v0.6.0)
removeConversationsFromGroup 将会话从分组中移除 v10.2.0(对应 HarmonyOS v0.6.0)
getConversationGroup 获取单个指定会话分组信息 v10.2.0(对应 HarmonyOS v0.6.0)
getConversationGroupList 获取全部会话分组列表 v10.2.0(对应 HarmonyOS v0.6.0)
getConversationGroupListByIds 批量获取指定会话分组列表 v10.2.0(对应 HarmonyOS v0.6.0)

接口类

V2NIMConversationGroupService 类提供创建、删除、更新、获取会话分组,注册会话分组监听等接口。

addConversationGroupListener

接口描述

注册会话分组监听器。

注册成功后,当事件发生时,SDK 会返回对应的回调。

  • 建议在初始化后调用该方法。

  • 全局只需注册一次。

  • 该方法为同步。

参数说明

Android
javaboolean addConversationGroupListener(@NonNull V2NIMConversationGroupListener listener);
参数名称 类型 是否必填 默认值 描述
listener V2NIMConversationGroupListener - 会话分组监听器
iOS
objective-c- (void)addConversationGroupListener:(id<V2NIMConversationGroupListener>)listener;
参数名称 类型 是否必填 默认值 描述
listener V2NIMConversationGroupListener - 会话分组监听器
macOS/Windows
cppvirtual void addConversaionGroupListener(V2NIMConversationGroupListener listener) = 0;
参数名称 类型 是否必填 默认值 描述
listener V2NIMConversationGroupListener - 会话分组监听器

示例代码

Android
javaV2NIMConversationGroupListener listener = new V2NIMConversationGroupListener() {
    @Override
    public void onConversationGroupCreated(V2NIMConversationGroup conversationGroup) {
        // handle conversation group created event
    }

    @Override
    public void onConversationGroupDeleted(String groupId) {
        // handle conversation group deleted event
    }

    @Override
    public void onConversationGroupChanged(V2NIMConversationGroup conversationGroup) {
        // handle conversation group changed event
    }

    @Override
    public void onConversationsAddedToGroup(String groupId, List<V2NIMConversation> conversations) {
        // handle conversation add to group event
    }

    @Override
    public void onConversationsRemovedFromGroup(String groupId, List<String> conversationIds) {
        // handle conversation remove from group event
    }
};
NIMClient.getService(V2NIMConversationGroupService.class).addConversationGroupListener(listener);
iOS
objective-c@interface V2ConversationGroupServiceSample : NSObject <V2NIMConversationGroupListener>

@end

@implementation V2ConversationGroupServiceSample

- (void)onConversationGroupCreated:(V2NIMConversationGroup *)conversationGroup
{
    // handle conversation group created event
}

- (void)onConversationGroupDeleted:(NSString *)groupId
{
    // handle conversation group deleted event
}

- (void)onConversationGroupChanged:(V2NIMConversationGroup *)conversationGroup
{
    // handle conversation group changed event
}

- (void)onConversationsAddedToGroup:(NSString *)groupId
                      conversations:(NSArray<V2NIMConversation *> *)conversations
{
    // handle conversation add to group event
}

- (void)onConversationsRemovedFromGroup:(NSString *)groupId
                        conversationIds:(NSArray<NSString *> *)conversationIds
{
    // handle conversation remove from group event
}

- (void)addConversationGroupListener
{
    [NIMSDK.sharedSDK.v2ConversationGroupService addConversationGroupListener:self];
}

@end
macOS/Windows
cppV2NIMConversationGroupListener listener;
listener.onConversationGroupCreated = [](V2NIMConversationGroup conversationGroup, V2NIMConversationList conversations) {
    // handle conversation group created event
};
listener.onConversationGroupDeleted = [](nstd::string groupId) {
    // handle conversation group deleted event
};
listener.onConversationGroupChanged = [](V2NIMConversationGroup conversationGroup) {
    // handle conversation group changed event
};
listener.onConversationsAddedToGroup = [](nstd::string groupId, V2NIMConversationList conversations) {
    // handle conversation add to group event
};
listener.onConversationsRemovedFromGroup = [](nstd::string groupId, nstd::vector<nstd::string> conversationIds) {
    // handle conversation remove from group event
};
conversationGroupService.addConversaionGroupListener(listener);

返回值

removeConversationGroupListener

接口描述

移除会话分组监听器。

参数说明

Android
javavoid removeConversationGroupListener(@NonNull V2NIMConversationGroupListener listener);
参数名称 类型 是否必填 默认值 描述
listener V2NIMConversationGroupListener - 会话分组监听器
iOS
objective-c- (void)removeConversationGroupListener:(id<V2NIMConversationGroupListener>)listener;
参数名称 类型 是否必填 默认值 描述
listener V2NIMConversationGroupListener - 会话分组监听器
macOS/Windows
cppvirtual void removeConversaionGroupListener(V2NIMConversationGroupListener listener) = 0;
参数名称 类型 是否必填 默认值 描述
listener V2NIMConversationGroupListener - 会话分组监听器

示例代码

Android
javaNIMClient.getService(V2NIMConversationGroupService.class).removeConversationGroupListener(listener);
iOS
objective-cid<V2NIMConversationGroupListener> listener;
[NIMSDK.sharedSDK.v2ConversationGroupService removeConversationGroupListener:listener];
macOS/Windows
cppV2NIMConversationGroupListener listener;
conversationGroupService.removeConversaionGroupListener(listener);

返回值

on("EventName")

接口描述

注册会话分组监听。

注册成功后,当事件发生时,SDK 会触发相关回调通知。

  • 建议在初始化后调用该方法。

  • 全局只需注册一次。

  • 该方法为同步。

参数说明

Web/uni-app/小程序
typescripton<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
export type V2NIMConversationGroupListener = {
  onConversationGroupCreated: [conversationGroup: V2NIMConversationGroup]
  onConversationGroupDeleted: [groupId: string]
  onConversationGroupChanged: [conversationGroup: V2NIMConversationGroup]
  onConversationsAddedToGroup: [groupId: string, list: V2NIMConversation[]]
  onConversationsRemovedFromGroup: [groupId: string, list: string[]]
}
参数名称 类型 是否必填 默认值 描述
eventName String - 事件名称:
  • onConversationGroupCreated:会话分组创建成功回调,返回创建的会话分组对象。当本地端或多端同步创建会话分组成功时会触发该回调。
  • onConversationGroupDeleted:会话分组删除回调,返回被删除的会话分组 ID 列表。当本地端或多端同步删除会话分组成功时会触发该回调。
  • onConversationGroupChanged:会话分组变更回调,返回变更后的会话分组对象。当本地端或多端同步更新会话分组成功时会触发该回调。
  • onConversationsAddedToGroup:将会话列表添加到会话分组回调,返回会话分组 ID 和添加的会话对象列表。当本地端或多端同步添加会话到分组成功时会触发该回调。
  • onConversationsRemovedFromGroup:将会话从会话分组中移除回调,返回会话分组 ID 和移除的会话 ID 列表。当本地端或多端同步将会话从分组移除成功时会触发该回调。
  • fn function - 处理事件的方法,当事件触发时,会调用此 handler 进行处理。
    HarmonyOS
    typescripton<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
    export interface V2NIMConversationGroupListener extends NIMEBaseListener {
      onConversationGroupCreated: [conversationGroup: V2NIMConversationGroup]
      onConversationGroupDeleted: [groupId: string]
      onConversationGroupChanged: [conversationGroup: V2NIMConversationGroup]
      onConversationsAddedToGroup: [groupId: string, list: V2NIMConversation[]]
      onConversationsRemovedFromGroup: [groupId: string, list: string[]]
    }
    
    参数名称 类型 是否必填 默认值 描述
    eventName String - 事件名称:
  • onConversationGroupCreated:会话分组创建成功回调,返回创建的会话分组对象。当本地端或多端同步创建会话分组成功时会触发该回调。
  • onConversationGroupDeleted:会话分组删除回调,返回被删除的会话分组 ID 列表。当本地端或多端同步删除会话分组成功时会触发该回调。
  • onConversationGroupChanged:会话分组变更回调,返回变更后的会话分组对象。当本地端或多端同步更新会话分组成功时会触发该回调。
  • onConversationsAddedToGroup:将会话列表添加到会话分组回调,返回会话分组 ID 和添加的会话对象列表。当本地端或多端同步添加会话到分组成功时会触发该回调。
  • onConversationsRemovedFromGroup:将会话从会话分组中移除回调,返回会话分组 ID 和移除的会话 ID 列表。当本地端或多端同步将会话从分组移除成功时会触发该回调。
  • fn function - 处理事件的方法,当事件触发时,会调用此 handler 进行处理。

    示例代码

    Web/uni-app/小程序
    typescriptnim.V2NIMConversationGroupService.on('onConversationGroupCreated', (conversationGroup: V2NIMConversationGroup) => {})
    nim.V2NIMConversationGroupService.on('onConversationGroupDeleted', (groupId: string) => {})
    nim.V2NIMConversationGroupService.on('onConversationGroupChanged', (conversationGroup: V2NIMConversationGroup) => {})
    nim.V2NIMConversationGroupService.on('onConversationsAddedToGroup', (groupId: string, list: V2NIMConversation[]) => {})
    nim.V2NIMConversationGroupService.on('onConversationsRemovedFromGroup', (groupId: string, list: string[]) => {})
    
    HarmonyOS
    typescriptnim.conversationGroupService.on('onConversationGroupCreated', (conversationGroup: V2NIMConversationGroup) => {})
    nim.conversationGroupService.on('onConversationGroupDeleted', (groupId: string) => {})
    nim.conversationGroupService.on('onConversationGroupChanged', (conversationGroup: V2NIMConversationGroup) => {})
    nim.conversationGroupService.on('onConversationsAddedToGroup', (groupId: string, list: V2NIMConversation[]) => {})
    nim.conversationGroupService.on('onConversationsRemovedFromGroup', (groupId: string, list: string[]) => {})
    

    返回值

    off("EventName")

    接口描述

    取消注册会话分组相关监听。

    该方法为同步。

    参数说明

    Web/uni-app/小程序
    typescriptoff<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
    
    参数名称 类型 是否必填 默认值 描述
    eventName String - 事件名称:
  • onConversationGroupCreated:会话分组创建成功回调,返回创建的会话分组对象。当本地端或多端同步创建会话分组成功时会触发该回调。
  • onConversationGroupDeleted:会话分组删除回调,返回被删除的会话分组 ID 列表。当本地端或多端同步删除会话分组成功时会触发该回调。
  • onConversationGroupChanged:会话分组变更回调,返回变更后的会话分组对象。当本地端或多端同步更新会话分组成功时会触发该回调。
  • onConversationsAddedToGroup:将会话列表添加到会话分组回调,返回会话分组 ID 和添加的会话对象列表。当本地端或多端同步添加会话到分组成功时会触发该回调。
  • onConversationsRemovedFromGroup:将会话从会话分组中移除回调,返回会话分组 ID 和移除的会话 ID 列表。当本地端或多端同步将会话从分组移除成功时会触发该回调。
  • fn function - 处理事件的方法,当事件触发时,会调用此 handler 进行处理。
    HarmonyOS
    typescriptoff<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
    
    参数名称 类型 是否必填 默认值 描述
    eventName String - 事件名称:
  • onConversationGroupCreated:会话分组创建成功回调,返回创建的会话分组对象。当本地端或多端同步创建会话分组成功时会触发该回调。
  • onConversationGroupDeleted:会话分组删除回调,返回被删除的会话分组 ID 列表。当本地端或多端同步删除会话分组成功时会触发该回调。
  • onConversationGroupChanged:会话分组变更回调,返回变更后的会话分组对象。当本地端或多端同步更新会话分组成功时会触发该回调。
  • onConversationsAddedToGroup:将会话列表添加到会话分组回调,返回会话分组 ID 和添加的会话对象列表。当本地端或多端同步添加会话到分组成功时会触发该回调。
  • onConversationsRemovedFromGroup:将会话从会话分组中移除回调,返回会话分组 ID 和移除的会话 ID 列表。当本地端或多端同步将会话从分组移除成功时会触发该回调。
  • fn function - 处理事件的方法,当事件触发时,会调用此 handler 进行处理。

    示例代码

    Web/uni-app/小程序
    typescriptnim.V2NIMConversationGroupService.off('onConversationGroupCreated', lisnterFn)
    // or nim.V2NIMConversationGroupService.off('onConversationGroupCreated')
    nim.V2NIMConversationGroupService.off('onConversationGroupDeleted', lisnterFn)
    nim.V2NIMConversationGroupService.off('onConversationGroupChanged', lisnterFn)
    nim.V2NIMConversationGroupService.off('onConversationsAddedToGroup', lisnterFn)
    nim.V2NIMConversationGroupService.off('onConversationsRemovedFromGroup', lisnterFn)
    
    HarmonyOS
    typescriptnim.conversationGroupService.off('onConversationGroupCreated', lisnterFn)
    nim.conversationGroupService.off('onConversationGroupDeleted', lisnterFn)
    nim.conversationGroupService.off('onConversationGroupChanged', lisnterFn)
    nim.conversationGroupService.off('onConversationsAddedToGroup', lisnterFn)
    nim.conversationGroupService.off('onConversationsRemovedFromGroup', lisnterFn)
    

    返回值

    createConversationGroup

    接口描述

    创建一个会话分组,并指定分组中的会话列表。

    本地端或多端同步创建成功后,SDK 会返回创建成功回调 onConversationGroupCreated,并同步缓存和数据库。

    • 最多可创建 50 个会话分组,每个会话最多可属于 5 个分组。
    • 如不需要该分组,建议及时调用 deleteConversationGroup 方法删除。

    参数说明

    Android
    javavoid createConversationGroup(@NonNull String name, String serverExtension, List<String> conversationIds, V2NIMSuccessCallback<V2NIMConversationGroupResult> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 默认值 描述
    name String - 会话分组名称。不可设置为空,否则返回 191004 参数错误。
    serverExtension String - 会话分组服务端扩展字段,多端同步。
    conversationIds List - 会话 ID 列表
  • 可以为空
  • 最多传入 1000 个会话 ID。
  • success V2NIMSuccessCallback - 创建会话分组成功回调,返回 V2NIMConversationGroupResult,包含会话分组信息和创建分组失败的会话 ID 列表。
    failure V2NIMFailureCallback - 创建会话分组失败回调,返回错误码
    iOS
    objective-c- (void)createConversationGroup:(NSString *)name
                    serverExtension:(nullable NSString *)serverExtension
                    conversationIds:(nullable NSArray<NSString *> *)conversationIds
                            success:(nullable V2NIMConversationGroupResultCallback)success
                            failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 默认值 描述
    name NSString * - 会话分组名称。不可设置为空,否则返回 191004 参数错误。
    serverExtension nullable NSString * - 会话分组服务端扩展字段,多端同步。
    conversationIds nullable NSArray<NSString *> * - 会话 ID 列表
  • 可以为空
  • 最多传入 1000 个会话 ID。
  • success V2NIMConversationGroupResultCallback - 创建会话分组成功回调,可自定义。
    failure V2NIMFailureCallback - 创建会话失败回调,返回错误码
    macOS/Windows
    cppvirtual void createConversationGroup(nstd::string name,
        nstd::optional<nstd::string> serverExtension,
        nstd::vector<nstd::string> conversationIds,
        V2NIMSuccessCallback<V2NIMConversationGroupResult> success,
        V2NIMFailureCallback failure) = 0;	
    
    参数名称 类型 是否必填 默认值 描述
    name nstd::string - 会话分组名称。不可设置为空,否则返回 191004 参数错误。
    serverExtension nstd::optional<\nstd::string> - 会话分组服务端扩展字段,多端同步。
    conversationIds nstd::vector<\nstd::string> - 会话 ID 列表
  • 可以为空
  • 最多传入 1000 个会话 ID。
  • success V2NIMSuccessCallback - 创建会话分组成功回调,返回 V2NIMConversationGroupResult,包含会话分组信息和创建分组失败的会话 ID 列表。
    failure V2NIMFailureCallback - 创建会话分组失败回调,返回错误码
    Web/uni-app/小程序
    typescriptcreateConversationGroup(name: string, serverExtension?: string, conversationIds?: string[]): Promise<V2NIMConversationGroupResult>
    
    参数名称 类型 是否必填 默认值 描述
    name string - 会话分组名称。不可设置为空,否则返回 191004 参数错误。
    serverExtension string - 会话分组服务端扩展字段,多端同步。
    conversationIds string[] - 会话 ID 列表
  • 可以为空
  • 最多传入 1000 个会话 ID。
  • HarmonyOS
    typescriptcreateConversationGroup(name: string, serverExtension?: string, conversationIds?: string[]): Promise<V2NIMConversationGroupResult>
    
    参数名称 类型 是否必填 默认值 描述
    name string - 会话分组名称。不可设置为空,否则返回 191004 参数错误。
    serverExtension string - 会话分组服务端扩展字段,多端同步。
    conversationIds string[] - 会话 ID 列表
  • 可以为空
  • 最多传入 1000 个会话 ID。
  • 示例代码

    Android
    javaList<String> conversationIds = new ArrayList<>();
    conversationIds.add("conversationId");
    NIMClient.getService(V2NIMConversationGroupService.class)
        .createConversationGroup("name", "serverExtension", conversationIds, new V2NIMSuccessCallback<V2NIMConversationGroupResult>() {
            @Override
            public void onSuccess(V2NIMConversationGroupResult v2NIMConversationGroupResult) {
                // receive v2NIMConversationGroupResult and check failed list
            }
        }, new V2NIMFailureCallback() {
            @Override
            public void onFailure(V2NIMError error) {
                int code = error.getCode();
                String desc = error.getDesc();
                // handle error
            }
        });
    
    iOS
    objective-c[NIMSDK.sharedSDK.v2ConversationGroupService createConversationGroup:@"name" serverExtension:@"serverExtension" conversationIds:@[@"conversationIdA", @"conversationIdB"] success:^(V2NIMConversationGroupResult * _Nonnull result) {
        // receive result and check failed list
    } failure:^(V2NIMError * _Nonnull error) {
        // handle error
    }];
    
    macOS/Windows
    cppauto conversationIds = nstd::vector<nstd::string>{};
    conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account1"));
    conversationIds.emplace_back(V2NIMConversationIdUtil::teamConversationId("team1"));
    conversationGroupService.createConversationGroup(
        "group1",
        conversationIds,
        [](V2NIMConversationGroupResult result) {
            // receive result and check failed list
        },
        [](V2NIMError error) {
            // create conversation group failed, handle error
        });
    
    Web/uni-app/小程序
    typescriptconst conversationId1 = nim.V2NIMConversationIdUtil.p2pConversationId('TARGET_ACCOUNT_ID')
    const conversationId2 = nim.V2NIMConversationIdUtil.teamConversationId('TARGET_TEAM_ID')
    try {
      const result = await nim.V2NIMConversationGroupService.createConversationGroup('GROUP_NAME', '', [conversationId1, conversationId2])
      // receive result and check failed list
      // console.log(result.group)
    } catch (err) {
      // handle error
      // console.error(error.code)
    }
    
    HarmonyOS
    typescriptconst conversationId1 = nim.conversationIdUtil.p2pConversationId('TARGET_ACCOUNT_ID')
    const conversationId2 = nim.conversationIdUtil.teamConversationId('TARGET_TEAM_ID')
    try {
        const result = await nim.conversationGroupService.createConversationGroup('GROUP_NAME', '', [conversationId1, conversationId2])
        // todo success.
        // console.log(result.group)
    } catch (err) {
        // TODO failed.
        // console.error(error.code)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<V2NIMConversationGroupResult> 会话分组创建结果,包含会话分组信息和创建分组失败的会话 ID 列表。

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调;创建成功,返回 onConversationGroupCreated 回调。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    iOS
    • 请求成功,返回 V2NIMConversationGroupResultCallback 回调,可自定义设置;创建成功,返回 onConversationGroupCreated 回调。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    Web/uni-app/小程序/HarmonyOS

    创建成功,返回 onConversationGroupCreated 回调。

    deleteConversationGroup

    接口描述

    删除指定会话分组。

    本地端或多端同步删除成功后,SDK 会返回删除成功回调 onConversationGroupDeleted,并同步缓存和数据库。会话所属的分组列表也随之删除该会话分组。

    参数说明

    Android
    javavoid deleteConversationGroup(@NonNull String groupId, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 默认值 描述
    groupId String - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    success V2NIMSuccessCallback - 删除会话分组成功回调
    failure V2NIMFailureCallback - 删除会话分组失败回调,返回错误码
    iOS
    objective-c- (void)deleteConversationGroup:(NSString *)groupId
                            success:(nullable V2NIMSuccessCallback)success
                            failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 默认值 描述
    groupId NSString * - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    success V2NIMSuccessCallback - 删除会话分组成功回调
    failure V2NIMFailureCallback - 删除会话分组失败回调,返回错误码
    macOS/Windows
    cppvirtual void deleteConversationGroup(nstd::string groupId, V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    groupId nstd::string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    success V2NIMSuccessCallback - 删除会话分组成功回调
    failure V2NIMFailureCallback - 删除会话分组失败回调,返回错误码
    Web/uni-app/小程序
    typescriptdeleteConversationGroup(groupId: string): Promise<void>
    
    参数名称 类型 是否必填 默认值 描述
    groupId String - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    HarmonyOS
    typescriptdeleteConversationGroup(groupId: string): Promise<void>
    
    参数名称 类型 是否必填 默认值 描述
    groupId String - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。

    示例代码

    Android
    javaNIMClient.getService(V2NIMConversationGroupService.class).deleteConversationGroup("会话分组id",new V2NIMSuccessCallback<Void>(){
        @Override
        public void onSuccess(Void unused) {
            // delete successfully
        }
    }, new V2NIMFailureCallback(){
        @Override
        public void onFailure(V2NIMError error){
            int code = error.getCode();
            String desc = error.getDesc();
            // handle error
        }
    });
    
    iOS
    objective-c[NIMSDK.sharedSDK.v2ConversationGroupService deleteConversationGroup:@"groupId" success:^{
        // delete successfully        
            } failure:^(V2NIMError * _Nonnull error) {
                // handle error
            }];
    
    macOS/Windows
    cppconversationGroupService.deleteConversationGroup(
        "groupId",
        []() {
            // delete conversation group succeeded
        },
        [](V2NIMError error) {
            // delete conversation group failed, handle error
        });
    
    Web/uni-app/小程序
    typescripttry {
      await nim.V2NIMConversationGroupService.deleteConversationGroup('GROUP_ID')
      // todo: success
    } catch (err) {
      // todo: fail
      // console.error(error.code)
    }
    
    HarmonyOS
    typescripttry {
      await nim.conversationGroupService.deleteConversationGroup('GROUP_ID')
      // todo success.
    } catch (err) {
      // TODO failed.
      // console.error(error.code)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调;删除成功,返回 onConversationGroupDeleted 回调。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    Web/uni-app/小程序/HarmonyOS

    删除成功,返回 onConversationGroupDeleted 回调。

    updateConversationGroup

    接口描述

    更新指定会话分组。

    本地端或多端同步更新成功后,SDK 会返回更新成功回调 onConversationGroupChanged,并同步缓存和数据库。

    参数说明

    Android
    javavoid updateConversationGroup(@NonNull String groupId, String name, String serverExtension, V2NIMSuccessCallback<Void> success,
    V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 默认值 描述
    groupId @NonNull String - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    name String - 会话分组名称。可设置为 null/undefined,表示不更改;不可设置为空,否则返回 191004 参数错误。
    serverExtension String - 会话分组扩展字段
    success V2NIMSuccessCallback - 更新会话分组成功回调
    failure V2NIMFailureCallback - 更新会话分组失败回调,返回错误码
    iOS
    objective-c- (void)updateConversationGroup:(NSString *)groupId
                               name:(nullable NSString *)name
                    serverExtension:(nullable NSString *)serverExtension
                            success:(nullable V2NIMSuccessCallback)success
                            failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 默认值 描述
    groupId NSString * - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    name nullable NSString * - 会话分组名称。可设置为 null/undefined,表示不更改;不可设置为空,否则返回 191004 参数错误。
    serverExtension nullable NSString * - 会话分组扩展字段
    success V2NIMSuccessCallback - 更新会话分组成功回调
    failure V2NIMFailureCallback - 更新会话分组失败回调,返回错误码
    macOS/Windows
    cppvirtual void updateConversationGroup(nstd::string groupId,
        nstd::string name,
        nstd::string serverExtension,
        V2NIMSuccessCallback<void> success,
        V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    groupId nstd::string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    name nstd::string - 会话分组名称。可设置为 null/undefined,表示不更改;不可设置为空,否则返回 191004 参数错误。
    serverExtension nstd::string - 会话分组扩展字段
    success V2NIMSuccessCallback - 更新会话分组成功回调
    failure V2NIMFailureCallback - 更新会话分组失败回调,返回错误码
    Web/uni-app/小程序
    typescriptupdateConversationGroup(groupId: string, name?: string, serverExtension?: string): Promise<void>
    
    参数名称 类型 是否必填 默认值 描述
    groupId string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    name string - 会话分组名称。可设置为 null/undefined,表示不更改;不可设置为空,否则返回 191004 参数错误。
    serverExtension string - 会话分组扩展字段
    HarmonyOS
    typescriptupdateConversationGroup(groupId: string, name?: string, serverExtension?: string): Promise<void>
    
    参数名称 类型 是否必填 默认值 描述
    groupId string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    name string - 会话分组名称。可设置为 null/undefined,表示不更改;不可设置为空,否则返回 191004 参数错误。
    serverExtension string - 会话分组扩展字段

    示例代码

    Android
    javaNIMClient.getService(V2NIMConversationGroupService.class).updateConversationGroup("groupId", "newname", "serverExtension", new V2NIMSuccessCallback<Void>() {
        @Override
        public void onSuccess(Void unused) {
            // update successfully
        }
    }, new V2NIMFailureCallback() {
        @Override
        public void onFailure(V2NIMError error) {
            int code = error.getCode();
            String desc = error.getDesc();
            // handle error
        }
    });
    
    iOS
    objective-c[NIMSDK.sharedSDK.v2ConversationGroupService updateConversationGroup:@"groupId" name:@"newName" serverExtension:@"newServerExtension" success:^{
        // update successfully         
            } failure:^(V2NIMError * _Nonnull error) {
                // handle error
            }];
    
    macOS/Windows
    cppconversationGroupService.updateConversaionGroup(
        "groupId",
        "name",
        "serverExtension",
        [](V2NIMConversationGroup group) {
            // update conversation group succeeded
        },
        [](V2NIMError error) {
            // update conversation group failed, handle error
        });
    
    Web/uni-app/小程序
    typescripttry {
      const group = await nim.V2NIMConversationGroupService.createConversationGroup('GROUP_ID', 'NAME', "SERVER_EXTENSION")
      // todo: success
    } catch (err) {
      // todo: fail
      // console.error(error.code)
    }
    
    HarmonyOS
    typescripttry {
      const group = await nim.conversationGroupService.createConversationGroup('GROUP_ID', 'NAME', "SERVER_EXTENSION")
      // todo success.
    } catch (err) {
      // TODO failed.
      // console.error(error.code)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调;更新成功,返回 onConversationGroupChanged 回调。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    Web/uni-app/小程序/HarmonyOS

    更新成功,返回 onConversationGroupChanged 回调。

    addConversationsToGroup

    接口描述

    添加会话到指定的会话分组。

    添加成功后,SDK 会返回添加成功回调 onConversationsAddedToGroup,并同步缓存和数据库。

    参数说明

    Android
    javavoid addConversationsToGroup(@NonNull String groupId, @NonNull List<String> conversationIds, V2NIMSuccessCallback<List<V2NIMConversationOperationResult>> success,
    V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 默认值 描述
    groupId @NonNull String - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds @NonNull List - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多添加 100 个会话 ID。
  • success V2NIMSuccessCallback - 添加成功回调,返回 List<V2NIMConversationOperationResult>,仅包含添加失败的会话 ID 及其错误信息。
    failure V2NIMFailureCallback - 添加失败回调,返回错误码
    iOS
    objective-c- (void)addConversationsToGroup:(NSString *)groupId
                    conversationIds:(NSArray<NSString *> *)conversationIds
                            success:(nullable V2NIMConversationOperationResultListCallback)success
                            failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 默认值 描述
    groupId NSString * - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds NSArray<NSString *> *> - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多添加 100 个会话 ID。
  • 每个会话 ID 最多从属于 5 个会话分组。
  • success V2NIMConversationOperationResultListCallback - 添加成功回调,可自定义设置。
    failure V2NIMFailureCallback - 添加失败回调,返回错误码
    macOS/Windows
    cppvirtual void addConversationsToGroup(nstd::string groupId,
        nstd::vector<nstd::string> conversationIds,
        V2NIMSuccessCallback<nstd::vector<V2NIMConversationOperationResult>> success,
        V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    groupId nstd::string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds nstd::vectornstd::string - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多添加 100 个会话 ID。
  • 每个会话 ID 最多从属于 5 个会话分组。
  • success V2NIMSuccessCallback - 添加成功回调,返回 V2NIMConversationOperationResult 列表,仅包含添加失败的会话 ID 及其错误信息。
    failure V2NIMFailureCallback - 添加失败回调,返回错误码
    Web/uni-app/小程序
    typescriptaddConversationsToGroup(groupId: string, conversationIds?: string[]): Promise<V2NIMConversationOperationResult[]>
    
    参数名称 类型 是否必填 默认值 描述
    groupId string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds string[] - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多添加 100 个会话 ID。
  • 每个会话 ID 最多从属于 5 个会话分组。
  • HarmonyOS
    typescriptaddConversationsToGroup(groupId: string, conversationIds: string[]): Promise<V2NIMConversationOperationResult[]>
    
    参数名称 类型 是否必填 默认值 描述
    groupId string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds string[] - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多添加 100 个会话 ID。
  • 每个会话 ID 最多从属于 5 个会话分组。
  • 示例代码

    Android
    javaNIMClient.getService(V2NIMConversationGroupService.class).addConversationsToGroup("groupId", conversationIds, new V2NIMSuccessCallback<List<V2NIMConversationOperationResult>>() {
        @Override
        public void onSuccess(List<V2NIMConversationOperationResult> results) {
            // receive results and check failed list
        }
    }, new V2NIMFailureCallback() {
        @Override
        public void onFailure(V2NIMError error) {
            int code = error.getCode();
            String desc = error.getDesc();
            // handle error
        }
    });
    
    iOS
    objective-c[NIMSDK.sharedSDK.v2ConversationGroupService addConversationsToGroup:@"groupId" conversationIds:@[@"conversationIdA", @"conversationIdB"] success:^(NSArray<V2NIMConversationOperationResult *> * _Nonnull resultList) {
        // receive resultList and check failed list
    } failure:^(V2NIMError * _Nonnull error) {
        // handle error
    }];
    
    macOS/Windows
    cppauto conversationIds = nstd::vector<nstd::string>{};
    conversationIds.emplace_back(V2NIMConversationId::p2pConversationId("account1"));
    conversationIds.emplace_back(V2NIMConversationId::teamConversationId("team1"));
    conversationGroupService.addConversationsToGroup(
        "groupId",
        conversationIds,
        [](nstd::vector<V2NIMConversationOperationResult> failedList) {
            // add conversations to group succeeded
        },
        [](V2NIMError error) {
            // add conversations to group failed, handle error
        });
    
    Web/uni-app/小程序
    typescriptnim.V2NIMConversationGroupService.on('onConversationsAddedToGroup', function (groupId: string, list: V2NIMConversation[]) {})
    
    try {
      const conversationId1 = nim.V2NIMConversationIdUtil.p2pConversationId("account1")
      const conversationId2 = nim.V2NIMConversationIdUtil.teamConversationId("team1")
      const group = await nim.V2NIMConversationGroupService.addConversationToGroup('GROUP_ID', [
        conversationId1,
        conversationId2     
      ])
      // todo: success
    } catch (err) {
      // todo: fail
      // console.error(error.code)
    }
    
    HarmonyOS
    typescriptnim.conversationGroupService.on('onConversationsAddedToGroup', (groupId: string, list: V2NIMConversation[]) => {})
    
    try {
      const conversationId1 = nim.conversationIdUtil.p2pConversationId("account1")
      const conversationId2 = nim.conversationIdUtil.teamConversationId("team1")
      const group = await nim.conversationGroupService.addConversationToGroup('GROUP_ID', [
        conversationId1,
        conversationId2     
      ])
      // todo success.
    } catch (err) {
      // TODO failed.
      // console.error(error.code)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<V2NIMConversationOperationResult[]> 会话操作结果,仅包含添加失败的会话 ID 及其错误信息。

    相关回调

    Android/iOS/macOS/Windows
    iOS
    • 请求成功,返回 V2NIMConversationOperationResultListCallback 回调;添加成功,返回 onConversationsAddedToGroup 回调。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    Web/uni-app/小程序/HarmonyOS

    添加成功,返回 onConversationsAddedToGroup 回调。

    removeConversationsFromGroup

    接口描述

    移除会话分组中指定的会话。

    移除成功后,SDK 会返回移除成功回调 onConversationsRemovedFromGroup,并同步缓存和数据库。

    参数说明

    Android
    javavoid removeConversationsFromGroup(@NonNull String groupId, @NonNull List<String> conversationIds, V2NIMSuccessCallback<List<V2NIMConversationOperationResult>> success,
    V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 默认值 描述
    groupId @NonNull String - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds @NonNull List - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多移除 100 个会话 ID。
  • success V2NIMSuccessCallback - 移除成功回调,返回 List<V2NIMConversationOperationResult>,仅包含移除失败的会话 ID 及其错误信息。
    failure V2NIMFailureCallback - 移除失败回调,返回错误码
    iOS
    objective-c- (void)removeConversationsFromGroup:(NSString *)groupId
                         conversationIds:(NSArray<NSString *> *)conversationIds
                                 success:(nullable V2NIMConversationOperationResultListCallback)success
                                 failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 默认值 描述
    groupId NSString * - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds NSArray<NSString *> * - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多移除 100 个会话 ID。
  • success V2NIMConversationOperationResultListCallback - 移除成功回调,可自定义设置。
    failure V2NIMFailureCallback - 移除失败回调,返回错误码
    macOS/Windows
    cppvirtual void removeConversationsFromGroup(nstd::string groupId,
        nstd::vector<nstd::string> conversationIds,
        V2NIMSuccessCallback<nstd::vector<V2NIMConversationOperationResult>> success,
        V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    groupId nstd::string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds nstd::vector<\nstd::string> - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多移除 100 个会话 ID。
  • success V2NIMSuccessCallback - 移除成功回调,返回 V2NIMConversationOperationResult 列表,仅包含移除失败的会话 ID 及其错误信息。
    failure V2NIMFailureCallback - 移除失败回调,返回错误码
    Web/uni-app/小程序
    typescriptremoveConversationsFromGroup(groupId: string, conversationIds?: string[]): Promise<void>
    
    参数名称 类型 是否必填 默认值 描述
    groupId string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds string[] - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多移除 100 个会话 ID。
  • HarmonyOS
    typescriptremoveConversationsFromGroup(groupId: string, conversationIds: string[]): Promise<V2NIMConversationOperationResult[]>
    
    参数名称 类型 是否必填 默认值 描述
    groupId string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    conversationIds string[] - 会话 ID 列表
  • 不可为空,否则返回 191004 参数错误。
  • 每次最多移除 100 个会话 ID。
  • 示例代码

    Android
    javaNIMClient.getService(V2NIMConversationGroupService.class).removeConversationsFromGroup("groupId",conversationIds, new V2NIMSuccessCallback<List<V2NIMConversationOperationResult>>(){
        @Override
        public void onSuccess(List<V2NIMConversationOperationResult> results){
            // receive results and check failed list
        }
    }, new V2NIMFailureCallback(){
        @Override
        public void onFailure(V2NIMError error){
            int code = error.getCode();
            String desc = error.getDesc();
            // TODO
        }
    });
    
    iOS
    objective-c[NIMSDK.sharedSDK.v2ConversationGroupService removeConversationsFromGroup:@"groupId"
                                                                 conversationIds:@[@"conversationIdA", @"conversationIdB"]
                                                                          success:^(NSArray<V2NIMConversationOperationResult *> * _Nonnull resultList) {
            // receive resultList and check failed list
        } failure:^(V2NIMError * _Nonnull error) {
            // handle error
    }];
    
    macOS/Windows
    cppauto conversationIds = nstd::vector<nstd::string>{};
    conversationIds.emplace_back(V2NIMConversationId::p2pConversationId("account1"));
    conversationIds.emplace_back(V2NIMConversationId::teamConversationId("team1"));
    conversationGroupService.removeConversationsFromGroup(
        "groupId",
        conversationIds,
        [](nstd::vector<V2NIMConversationOperationResult> failedList) {
            // remove conversations from group succeeded
        },
        [](V2NIMError error) {
            // remove conversations from group failed, handle error
        });
    
    Web/uni-app/小程序
    typescripttry {
      const conversationId1 = nim.V2NIMConversationIdUtil.p2pConversationId("account1")
      const conversationId2 = nim.V2NIMConversationIdUtil.teamConversationId("team1")
      const group = await nim.V2NIMConversationGroupService.removeConversationsFromGroup('GROUP_ID', [
        conversationId1,
        conversationId2     
      ])
      // todo: success
    } catch (err) {
      // todo: fail
      // console.error(error.code)
    }
    
    HarmonyOS
    typescriptnim.conversationGroupService.on('onConversationsRemovedFromGroup', (groupId: string, list: string[]) => {})
    try {
      const conversationId1 = nim.conversationIdUtil.p2pConversationId("account1")
      const conversationId2 = nim.conversationIdUtil.teamConversationId("team1")
      const group = await nim.conversationGroupService.removeConversationsFromGroup('GROUP_ID', [
        conversationId1,
        conversationId2     
      ])
      // todo success.
    } catch (err) {
      // TODO failed.
      // console.error(error.code)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<V2NIMConversationOperationResult[]> 会话操作结果,仅包含移除失败的会话 ID 及其错误信息。

    相关回调

    Android/macOS/Windows
    iOS
    • 请求成功,返回 V2NIMConversationOperationResultListCallback 回调;移除成功,返回 onConversationsRemovedFromGroup 回调。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    Web/uni-app/小程序/HarmonyOS

    移除成功,返回 onConversationsRemovedFromGroup 回调。

    getConversationGroup

    接口描述

    获取单条指定的会话分组信息。

    参数说明

    Android
    javavoid getConversationGroup(@NonNull String groupId,V2NIMSuccessCallback<V2NIMConversationGroup> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 默认值 描述
    groupId @NonNull String - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    success V2NIMSuccessCallback - 获取成功回调,返回 V2NIMConversationGroup
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    iOS
    objective-c- (void)getConversationGroup:(NSString *)groupId
                         success:(nullable V2NIMConversationGroupCallback)success
                         failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 默认值 描述
    groupId NSString * - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    success V2NIMConversationGroupCallback - 获取会话分组成功回调,可自定义设置。
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    macOS/Windows
    cppvirtual void getConversationGroup(nstd::string groupId, V2NIMSuccessCallback<V2NIMConversationGroup> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    groupId nstd::string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    success V2NIMSuccessCallback - 获取成功回调,返回 V2NIMConversationGroup
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    Web/uni-app/小程序
    typescriptgetConversationGroup(groupId: string): Promise<V2NIMConversationGroup>
    
    参数名称 类型 是否必填 默认值 描述
    groupId string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。
    HarmonyOS
    typescriptgetConversationGroup(groupId: string): Promise<V2NIMConversationGroup>
    
    参数名称 类型 是否必填 默认值 描述
    groupId string - 会话分组 ID,如果为空、不合法、不存在则返回 191004 参数错误。

    示例代码

    Android
    javaNIMClient.getService(V2NIMConversationGroupService.class).getConversationGroup("groupId", new V2NIMSuccessCallback<V2NIMConversationGroup>(){
        @Override
        public void onSuccess(V2NIMConversationGroup group){
            // receive group
        }
    }, new V2NIMFailureCallback(){
        @Override
        public void onFailure(V2NIMError error){
            int code = error.getCode();
            String desc = error.getDesc();
            // handle error
        }
    });
    
    iOS
    objective-c[NIMSDK.sharedSDK.v2ConversationGroupService getConversationGroup:@"groupId"
        success:^(V2NIMConversationGroup * _Nonnull group) {
            // receive group
        }
        failure:^(V2NIMError * _Nonnull error) {
            // handle error
        }];
    
    macOS/Windows
    cppconversationGroupService.getConversationGroup(
        "groupId",
        [](V2NIMConversationGroup group) {
            // get conversation group succeeded
        },
        [](V2NIMError error) {
            // get conversation group failed, handle error
        });
    
    Web/uni-app/小程序
    typescripttry {
      const group = await nim.V2NIMConversationGroupService.getConversationGroup('GROUP_ID')
      // todo: success
    } catch (err) {
      // todo: fail
      // console.error(error.code)
    }
    
    HarmonyOS
    typescripttry {
      const group = await nim.conversationGroupService.getConversationGroup('GROUP_ID')
      // todo success.
    } catch (err) {
      // TODO failed.
      // console.error(error.code)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<V2NIMConversationGroup> 会话分组信息

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMConversationGroup
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    iOS
    • 请求成功,返回 V2NIMConversationGroupCallback 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    Web/uni-app/小程序/HarmonyOS

    getConversationGroupList

    接口描述

    全量获取会话分组信息。

    如果会话数据同步已开始(收到 V2NIMConversationListener.onSyncStarted 回调),建议您在数据同步完成(收到 V2NIMConversationListener.onSyncFinished 回调)后再进行该操作,否则可能查询不到完整数据。

    参数说明

    Android
    javavoid getConversationGroupList(V2NIMSuccessCallback<List<V2NIMConversationGroup>> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 默认值 描述
    success V2NIMSuccessCallback - 获取成功回调,返回 List<V2NIMConversationGroup>。
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    iOS
    objective-c- (void)getConversationGroupList:(nullable V2NIMConversationGroupListCallback)success
                             failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 默认值 描述
    success V2NIMConversationGroupListCallback - 获取成功回调,可自定义设置。
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    macOS/Windows
    cppvirtual void getConversationGroupList(V2NIMSuccessCallback<nstd::vector<V2NIMConversationGroup>> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    success V2NIMSuccessCallback - 获取成功回调,返回 V2NIMConversationGroup 列表。
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    Web/uni-app/小程序
    typescriptgetConversationGroupList(): Promise<V2NIMConversationGroup[]>
    

    无参数

    HarmonyOS
    typescriptgetConversationGroupList(): Promise<V2NIMConversationGroup[]>
    

    无参数

    示例代码

    Android
    javaNIMClient.getService(V2NIMConversationGroupService.class).getConversationGroupList(new V2NIMSuccessCallback<List<V2NIMConversationGroup>>(){
        @Override
        public void onSuccess(List<V2NIMConversationGroup> result){
            // TODO
        }
    }, new V2NIMFailureCallback(){
        @Override
        public void onFailure(V2NIMError error){
            int code = error.getCode();
            String desc = error.getDesc();
            // TODO
        }
    });
    
    iOS
    objective-c[NIMSDK.sharedSDK.v2ConversationGroupService getConversationGroupList:^(NSArray<V2NIMConversationGroup *> * _Nonnull groups) {
        // receive all groups
    } failure:^(V2NIMError * _Nonnull error) {
        // handle error
    }];
    
    macOS/Windows
    cppconversationGroupService.getConversationGroupList(
        [](V2NIMConversationGroupList groupList) {
            // get conversation group list succeeded
        },
        [](V2NIMError error) {
            // get conversation group list failed, handle error
        });
    
    Web/uni-app/小程序
    typescripttry {
      const groupList = await nim.V2NIMConversationGroupService.getConversationGroupList()
      // todo: success
    } catch (err) {
      // todo: failed
      // console.error(error.code)
    }
    
    HarmonyOS
    typescripttry {
      const groupList = await nim.conversationGroupService.getConversationGroupList()
      // todo success.
    } catch (err) {
      // TODO failed.
      // console.error(error.code)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<V2NIMConversationGroup[]> 会话分组列表

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMConversationGroup 列表。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    iOS
    • 请求成功,返回 V2NIMConversationGroupListCallback 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    Web/uni-app/小程序/HarmonyOS

    getConversationGroupListByIds

    接口描述

    批量获取指定的会话分组信息。

    参数说明

    Android
    javavoid getConversationGroupListByIds(@NonNull List<String> groupIds, V2NIMSuccessCallback<List<V2NIMConversationGroup>> success,
    V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 默认值 描述
    groupIds @NonNull List - 会话分组 ID 列表。不可设置为空,否则返回 191004 参数错误。
    success V2NIMSuccessCallback - 获取成功回调,返回 List<V2NIMConversationGroup>。
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    iOS
    objective-c- (void)getConversationGroupListByIds:(NSArray<NSString *> *)groupIds
                                  success:(nullable V2NIMConversationGroupListCallback)success
                                  failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 默认值 描述
    groupIds NSArray<NSString *> * - 会话分组 ID 列表。不可设置为空,否则返回 191004 参数错误。
    success V2NIMConversationGroupListCallback - 获取成功回调,可自定义设置。
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    macOS/Windows
    cppvirtual void getConversationGroupListByIds(nstd::vector<nstd::string> groupIds,
        V2NIMSuccessCallback<V2NIMConversationGroupList> success,
        V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    groupIds nstd::vector<\nstd::string> - 会话分组 ID 列表。不可设置为空,否则返回 191004 参数错误。
    success V2NIMSuccessCallback - 获取成功回调,返回 List<V2NIMConversationGroup>。
    failure V2NIMFailureCallback - 获取失败回调,返回错误码
    Web/uni-app/小程序
    typescriptgetConversationGroupListByIds(groupIds: string[]): Promise<V2NIMConversationGroup[]>
    
    参数名称 类型 是否必填 默认值 描述
    groupIds string[] - 会话分组 ID 列表。不可设置为空,否则返回 191004 参数错误。
    HarmonyOS
    typescriptgetConversationGroupListByIds(groupIds: string[]): Promise<V2NIMConversationGroup[]>
    
    参数名称 类型 是否必填 默认值 描述
    groupIds string[] - 会话分组 ID 列表。不可设置为空,否则返回 191004 参数错误。

    示例代码

    Android
    javaNIMClient.getService(V2NIMConversationGroupService.class).getConversationGroupListByIds(groupIds,new V2NIMSuccessCallback<List<V2NIMConversationGroup>>(){
        @Override
        public void onSuccess(List<V2NIMConversationGroup> result){
            // receive groups
        }
    }, new V2NIMFailureCallback(){
        @Override
        public void onFailure(V2NIMError error){
            int code = error.getCode();
            String desc = error.getDesc();
            // handle error
        }
    });
    
    iOS
    objective-c[NIMSDK.sharedSDK.v2ConversationGroupService getConversationGroupListByIds:@[@"groupIdA", @"groupIdB"] success:^(NSArray<V2NIMConversationGroup *> * _Nonnull groups) {
        // receive groups
    } failure:^(V2NIMError * _Nonnull error) {
        // handle error
    }];
    
    macOS/Windows
    cppauto groupIds = nstd::vector<nstd::string>{};
    groupIds.emplace_back("groupId1");
    groupIds.emplace_back("groupId2");
    conversationGroupService.getConversationGroupListByIds(
        groupIds,
        [](V2NIMConversationGroupList groupList) {
            // get conversation group list by ids succeeded
        },
        [](V2NIMError error) {
            // get conversation group list by ids failed, handle error
        });
    
    Web/uni-app/小程序
    typescripttry {
      const groupList = await nim.V2NIMConversationGroupService.getConversationGroupListByIds(["GROUP_ID1"])
      // todo: success
    } catch (err) {
      // todo: fail
      // console.error(error.code)
    }
    
    HarmonyOS
    typescripttry {
      const groupList = await nim.conversationGroupService.getConversationGroupListByIds(["GROUP_ID1"])
      // todo success.
    } catch (err) {
      // TODO failed.
      // console.error(error.code)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<V2NIMConversationGroup[]> 会话分组列表

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMConversationGroup 列表。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    iOS
    • 请求成功,返回 V2NIMConversationGroupListCallback 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailuerCallback 回调,包含会话相关错误码。
    Web/uni-app/小程序/HarmonyOS

    此文档是否对你有帮助?
    有帮助
    去反馈
    • 支持平台
    • API 概览
    • 会话分组监听
    • 会话分组操作
    • 接口类
    • addConversationGroupListener
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • removeConversationGroupListener
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • on("EventName")
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • off("EventName")
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • createConversationGroup
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • deleteConversationGroup
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • updateConversationGroup
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • addConversationsToGroup
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • removeConversationsFromGroup
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • getConversationGroup
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • getConversationGroupList
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • getConversationGroupListByIds
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调