好友关系

更新时间: 2025/08/20 17:21:57

网易云信即时通讯 SDK(NetEase IM SDK,以下简称 NIM SDK)支持好友信息的管理,支持添加/删除好友,接受/拒绝好友申请,设置好友信息等。

本文介绍好友信息相关的 API。更多好友相关功能请参考开发指南文档 好友关系

支持平台

本文内容适用的开发平台或框架如下表所示:

Android iOS macOS/Windows Web/uni-app/小程序 Node.js/Electron HarmonyOS
✔️️ ✔️️ ✔️️ ✔️️ ✔️️ ✔️️

API 概览

好友关系监听

Android/iOS/macOS/Windows
API 说明 起始版本
addFriendListener 注册好友关系相关监听器 v10.2.0
removeFriendListener 移除好友关系相关监听器 v10.2.0
Web/uni-app/小程序/Node.js/Electron/HarmonyOS
API 说明 起始版本
on("EventName") 注册好友关系相关监听 v10.2.0(对应 HarmonyOSv0.5.0)
off("EventName") 取消好友关系相关监听 v10.2.0(对应 HarmonyOSv0.5.0)

好友关系操作

API 说明 起始版本
addFriend 添加好友 v10.2.0(对应 HarmonyOSv0.5.0)
deleteFriend 删除好友 v10.2.0(对应 HarmonyOSv0.5.0)
acceptAddApplication 接受好友申请 v10.2.0(对应 HarmonyOSv0.5.0)
rejectAddApplication 拒绝好友申请 v10.2.0(对应 HarmonyOSv0.5.0)
setFriendInfo 设置好友信息 v10.2.0(对应 HarmonyOSv0.5.0)
getFriendList 获取好友列表 v10.2.0(对应 HarmonyOSv0.5.0)
getFriendByIds 根据账号 ID 获取好友信息列表 v10.2.0(对应 HarmonyOSv0.5.0)
checkFriend 根据账号 ID 查询好友状态 v10.2.0(对应 HarmonyOSv0.5.0)
getAddApplicationList 获取申请添加好友信息列表 v10.2.0(对应 HarmonyOSv0.5.0)
getAddApplicationUnreadCount 获取未读的好友申请数量
  • Android/iOS: v10.2.1
  • macOS/Windows/Web/Electron: v10.2.2
  • HarmonyOS:v0.5.0
  • setAddApplicationRead 设置好友申请已读
  • Android/iOS: v10.2.1
  • macOS/Windows/Web/Electron: v10.2.2
  • HarmonyOS:v0.5.0
  • searchFriendByOption 根据关键字信息搜索好友信息
  • Android/iOS/macOS/Windows/Web/Electron: v10.2.2
  • HarmonyOS:v10.0.0
  • clearAllAddApplication 清空所有好友申请 v10.6.0
    deleteAddApplication 删除指定的好友申请 v10.6.0
    setAddApplicationReadEx 设置好友申请已读
  • Android/iOS/Web/HarmonyOS:v10.9.20
  • macOS/Windows/Electron:v10.9.30
  • 接口类

    V2NIMFriendService 类提供好友关系相关接口,包括注册好友关系监听,添加、删除好友,接受、 拒绝好友申请,获取、设置好友信息等接口。

    addFriendListener

    接口描述

    注册好友信息监听器。

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

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

    • 全局只需注册一次。

    • 该方法为同步。

    参数说明

    Android
    Javavoid addFriendListener(V2NIMFriendListener listener);
    
    参数名称 类型 是否必填 说明
    listener V2NIMFriendListener 好友信息相关监听器
    iOS
    Objective-C- (void)addFriendListener:(id<V2NIMFriendListener>)listener;
    
    参数名称 类型 是否必填 说明
    listener V2NIMFriendListener 好友信息相关监听器
    macOS/Windows
    C++virtual void addFriendListener(V2NIMFriendListener listener) = 0;
    
    参数名称 类型 是否必填 说明
    listener V2NIMFriendListener 好友信息相关监听器

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).addFriendListener(new V2NIMFriendListener() {
        @Override
        public void onFriendAdded(V2NIMFriend friendInfo) {
    
        }
    
        @Override
        public void onFriendDeleted(String accountId, V2NIMFriendDeletionType deletionType) {
    
        }
    
        @Override
        public void onFriendAddApplication(V2NIMFriendAddApplication applicationInfo) {
    
        }
    
        @Override
        public void onFriendAddRejected(V2NIMFriendAddApplication rejectionInfo) {
    
        }
    
        @Override
        public void onFriendInfoChanged(V2NIMFriend friendInfo) {
    
        }
    });
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] addFriendListener:self];
    - (void)onFriendAdded:(V2NIMFriend *)friendInfo{};
    - (void)onFriendDeleted:(NSString *)accountId deletionType:(V2NIMFriendDeletionType)deletionType{}};
    - (void)onFriendAddApplication:(V2NIMFriendAddApplication *)application{}};
    - (void)onFriendAddRejected:(V2NIMFriendAddApplication *)rejectionInfo{}};
    - (void)onFriendInfoChanged:(V2NIMFriend *)friendInfo{}};
    
    macOS/Windows
    C++V2NIMFriendListener listener;
    listener.onSyncStarted = []() {
        // sync friend started
    };
    listener.onSyncFinished = []() {
        // sync friend finished
    };
    listener.onSyncFailed = [](V2NIMError error) {
        // sync friend failed, handle error
    };
    listener.onFriendAdded = [](V2NIMFriend friendInfo) {
        // friend added, handle friendInfo
    };
    listener.onFriendDeleted = [](nstd::string accountId, V2NIMFriendDeletionType deletionType) {
        // friend deleted
    };
    listener.onFriendAddApplication = [](V2NIMFriendAddApplication applicationInfo) {
        // friend add application, handle applicationInfo
    };
    listener.onFriendAddRejected = [](V2NIMFriendAddApplication rejectionInfo) {
        // friend add rejected, handle rejectionInfo
    };
    listener.onFriendInfoChanged = [](V2NIMFriend friendInfo) {
        // friend info changed, handle friendInfo
    };
    friendService.addFriendListener(listener);
    

    返回参数

    无。

    removeFriendListener

    接口描述

    移除好友信息监听器。

    该方法为同步。

    参数说明

    Android
    Javavoid removeFriendListener(V2NIMFriendListener listener);
    
    参数名称 类型 是否必填 说明
    listener V2NIMFriendListener 好友信息相关监听器
    iOS
    Objective-C- (void)removeFriendListener:(id<V2NIMFriendListener>)listener;
    
    参数名称 类型 是否必填 说明
    listener V2NIMFriendListener 好友信息相关监听器
    macOS/Windows
    C++virtual void removeFriendListener(V2NIMFriendListener listener) = 0;
    
    参数名称 类型 是否必填 说明
    listener V2NIMFriendListener 好友信息相关监听器

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).removeFriendListener(listener);
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] removeFriendListener:self];
    
    macOS/Windows
    C++V2NIMFriendListener listener;
    // ...
    friendService.addFriendListener(listener);
    // ...
    friendService.removeFriendListener(listener);
    

    返回参数

    无。

    on("EventName")

    接口描述

    注册好友信息相关监听。

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

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

    • 全局只需注册一次。

    • 该方法为同步。

    参数说明

    Web/uni-app/小程序
    TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
      /**
       * 继承自 eventEmitter3 的监听事件方法
       */
      on<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
      /**
       * 继承自 eventEmitter3 的监听事件方法
       */
      once<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
    }
    
    参数名称 类型 是否必填 说明
    eventName V2NIMFriendListener 事件名称:
  • onFriendAdded:添加好友成功回调,返回添加成功的好友信息列表,包括本端直接添加好友和其他端同步添加的好友。
  • onFriendDeleted:删除好友回调,返回删除的好友信息,包括本端直接删除好友、其他端同步删除的好友以及对方好友删除自己。
  • onFriendAddApplication:申请添加好友回调,返回申请添加为好友的信息。
  • onFriendAddRejected:被对方拒绝好友添加申请的回调,被拒绝的好友申请信息。
  • onFriendInfoChanged:好友信息更新回调,返回变更的好友信息,包括本端直接更新的好友信息和其他端同步更新的好友信息。
  • fn function 监听事件的回调函数。当事件触发时,会调用该函数进行处理。
    Node.js/Electron
    TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
      /**
       * 继承自 eventEmitter3 的监听事件方法
       */
      on<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
      /**
       * 继承自 eventEmitter3 的监听事件方法
       */
      once<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
    }
    
    参数名称 类型 是否必填 说明
    eventName V2NIMFriendListener 事件名称:
  • friendAdded:添加好友成功回调,返回添加成功的好友信息列表,包括本端直接添加好友和其他端同步添加的好友。
  • friendDeleted:删除好友回调,返回删除的好友信息,包括本端直接删除好友、其他端同步删除的好友以及对方好友删除自己。
  • friendAddApplication:申请添加好友回调,返回申请添加为好友的信息。
  • friendAddRejected:被对方拒绝好友添加申请的回调,被拒绝的好友申请信息。
  • friendInfoChanged:好友信息更新回调,返回变更的好友信息,包括本端直接更新的好友信息和其他端同步更新的好友信息。
  • fn function 监听事件的回调函数。当事件触发时,会调用该函数进行处理。
    HarmonyOS
    TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
      /**
       * 继承自 eventEmitter3 的监听事件方法
       */
      on<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
      /**
       * 继承自 eventEmitter3 的监听事件方法
       */
      once<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
    }
    
    参数名称 类型 是否必填 说明
    eventName V2NIMFriendListener 事件名称:
  • onFriendAdded:添加好友成功回调,返回添加成功的好友信息列表,包括本端直接添加好友和其他端同步添加的好友。
  • onFriendDeleted:删除好友回调,返回删除的好友信息,包括本端直接删除好友、其他端同步删除的好友以及对方好友删除自己。
  • onFriendAddApplication:申请添加好友回调,返回申请添加为好友的信息。
  • onFriendAddRejected:被对方拒绝好友添加申请的回调,被拒绝的好友申请信息。
  • onFriendInfoChanged:好友信息更新回调,返回变更的好友信息,包括本端直接更新的好友信息和其他端同步更新的好友信息。
  • fn function 监听事件的回调函数。当事件触发时,会调用该函数进行处理。

    示例代码

    Web/uni-app/小程序
    TypeScriptnim.V2NIMFriendService.on("onFriendAdded", function (friend: V2NIMFriend) {})
    nim.V2NIMFriendService.on("onFriendDeleted", function (accountId: string, deletionType: V2NIMFriendDeletionType) {})
    nim.V2NIMFriendService.on("onFriendAddApplication", function (application: V2NIMFriendAddApplication) {})
    nim.V2NIMFriendService.on("onFriendAddRejected", function (rejection: V2NIMFriendAddApplication) {})
    nim.V2NIMFriendService.on("onFriendInfoChanged", function (friend: V2NIMFriend) {})
    
    Node.js/Electron
    TypeScriptv2.friendService.on("friendAdded", function (friend: V2NIMFriend) {})
    v2.friendService.on("friendDeleted", function (accountId: string, deletionType: V2NIMFriendDeletionType) {})
    v2.friendService.on("friendAddApplication", function (application: V2NIMFriendAddApplication) {})
    v2.friendService.on("friendAddRejected", function (rejection: V2NIMFriendAddApplication) {})
    v2.friendService.on("friendInfoChanged", function (friend: V2NIMFriend) {})
    
    HarmonyOS
    TypeScriptnim.friendService.on("onFriendAdded", function (friend: V2NIMFriend) {})
    nim.friendService.on("onFriendDeleted", function (accountId: string, deletionType: V2NIMFriendDeletionType) {})
    nim.friendService.on("onFriendAddApplication", function (application: V2NIMFriendAddApplication) {})
    nim.friendService.on("onFriendAddRejected", function (rejection: V2NIMFriendAddApplication) {})
    nim.friendService.on("onFriendInfoChanged", function (friend: V2NIMFriend) {})
    

    返回参数

    无。

    off("EventName")

    接口描述

    取消注册好友信息相关监听。

    该方法为同步。

    参数说明

    Web/uni-app/小程序
    TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
      /**
       * 继承自 eventEmitter3 的取消监听方法
       */
      off<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
    
      /**
       * 继承自 eventEmitter3 的移除事件方法
       */
      removeAllListeners<T extends keyof I>(eventName?: T): void;
    }
    
    参数名称 类型 是否必填 说明
    eventName V2NIMFriendListener 事件名称:
  • onFriendAdded:添加好友成功回调,返回添加成功的好友信息列表,包括本端直接添加好友和其他端同步添加的好友。
  • onFriendDeleted:删除好友回调,返回删除的好友信息,包括本端直接删除好友、其他端同步删除的好友以及对方好友删除自己。
  • onFriendAddApplication:申请添加好友回调,返回申请添加为好友的信息。
  • onFriendAddRejected:被对方拒绝好友添加申请的回调,被拒绝的好友申请信息。
  • onFriendInfoChanged:好友信息更新回调,返回变更的好友信息,包括本端直接更新的好友信息和其他端同步更新的好友信息。
  • fn function 监听事件的回调函数。当事件触发时,会调用该函数进行处理。
    Node.js/Electron
    TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
      /**
       * 继承自 eventEmitter3 的取消监听方法
       */
      off<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
    
      /**
       * 继承自 eventEmitter3 的移除事件方法
       */
      removeAllListeners<T extends keyof I>(eventName?: T): void;
    }
    
    参数名称 类型 是否必填 说明
    eventName V2NIMFriendListener 事件名称:
  • friendAdded:添加好友成功回调,返回添加成功的好友信息列表,包括本端直接添加好友和其他端同步添加的好友。
  • friendDeleted:删除好友回调,返回删除的好友信息,包括本端直接删除好友、其他端同步删除的好友以及对方好友删除自己。
  • friendAddApplication:申请添加好友回调,返回申请添加为好友的信息。
  • friendAddRejected:被对方拒绝好友添加申请的回调,被拒绝的好友申请信息。
  • friendInfoChanged:好友信息更新回调,返回变更的好友信息,包括本端直接更新的好友信息和其他端同步更新的好友信息。
  • fn function 监听事件的回调函数。当事件触发时,会调用该函数进行处理。
    HarmonyOS
    TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
      /**
       * 继承自 eventEmitter3 的取消监听方法
       */
      off<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
      /**
       * 继承自 eventEmitter3 的移除事件方法
       */
      removeAllListeners<T extends keyof I>(eventName?: T): void
    }
    
    参数名称 类型 是否必填 说明
    eventName V2NIMFriendListener 事件名称:
  • onFriendAdded:添加好友成功回调,返回添加成功的好友信息列表,包括本端直接添加好友和其他端同步添加的好友。
  • onFriendDeleted:删除好友回调,返回删除的好友信息,包括本端直接删除好友、其他端同步删除的好友以及对方好友删除自己。
  • onFriendAddApplication:申请添加好友回调,返回申请添加为好友的信息。
  • onFriendAddRejected:被对方拒绝好友添加申请的回调,被拒绝的好友申请信息。
  • onFriendInfoChanged:好友信息更新回调,返回变更的好友信息,包括本端直接更新的好友信息和其他端同步更新的好友信息。
  • fn function 监听事件的回调函数。当事件触发时,会调用该函数进行处理。

    示例代码

    Web/uni-app/小程序
    TypeScriptnim.V2NIMFriendService.off("onFriendAdded", function (friend: V2NIMFriend) {})
    nim.V2NIMFriendService.off("onFriendDeleted", function (accountId: string, deletionType: V2NIMFriendDeletionType) {})
    nim.V2NIMFriendService.off("onFriendAddApplication", function (application: V2NIMFriendAddApplication) {})
    nim.V2NIMFriendService.off("onFriendAddRejected", function (rejection: V2NIMFriendAddApplication) {})
    nim.V2NIMFriendService.off("onFriendInfoChanged", function (friend: V2NIMFriend) {})
    
    Node.js/Electron
    TypeScriptv2.friendService.off("friendAdded", function (friend: V2NIMFriend) {})
    v2.friendService.off("friendDeleted", function (accountId: string, deletionType: V2NIMFriendDeletionType) {})
    v2.friendService.off("friendAddApplication", function (application: V2NIMFriendAddApplication) {})
    v2.friendService.off("friendAddRejected", function (rejection: V2NIMFriendAddApplication) {})
    v2.friendService.off("friendInfoChanged", function (friend: V2NIMFriend) {})
    
    HarmonyOS
    TypeScriptnim.friendService.off("onFriendAdded", function (friend: V2NIMFriend) {})
    nim.friendService.off("onFriendDeleted", function (accountId: string, deletionType: V2NIMFriendDeletionType) {})
    nim.friendService.off("onFriendAddApplication", function (application: V2NIMFriendAddApplication) {})
    nim.friendService.off("onFriendAddRejected", function (rejection: V2NIMFriendAddApplication) {})
    nim.friendService.off("onFriendInfoChanged", function (friend: V2NIMFriend) {})
    

    返回参数

    无。

    addFriend

    接口描述

    添加好友。添加好友分为以下两种模式(V2NIMFriendAddMode):

    • 直接添加为好友,对应枚举为 V2NIM_FRIEND_MODE_TYPE_ADD

      该模式下,调用接口成功后,本端和对端(被添加的好友)都会收到 onFriendAdded 回调。

    • 请求添加对方为好友,需要对方验证通过才能添加,对应枚举为 V2NIM_FRIEND_MODE_TYPE_APPLY

      该模式下,调用接口成功后,对端(被添加的好友)会收到 onFriendAddApplication 回调。

    参数说明

    Android
    Javavoid addFriend(String accountId, V2NIMFriendAddParams params, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    accountId String 需要添加为好友的账号 ID。
    params V2NIMFriendAddParams 添加好友的配置参数。
    success V2NIMSuccessCallback 添加好友成功回调。
    failure V2NIMFailureCallback 添加好友失败回调,返回 错误码
    iOS
    Objective-C- (void)addFriend:(NSString *)accountId
               params:(V2NIMFriendAddParams *)params
              success:(nullable V2NIMSuccessCallback)success
              failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    accountId NSString * 需要添加为好友的账号 ID。
    params V2NIMFriendAddParams 添加好友的配置参数。
    success V2NIMSuccessCallback 添加好友成功回调。
    failure V2NIMFailureCallback 添加好友失败回调,返回 错误码
    macOS/Windows
    C++virtual void addFriend(nstd::string accountId, V2NIMFriendAddParams params, V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    accountId nstd::string 需要添加为好友的账号 ID。
    params V2NIMFriendAddParams 添加好友的配置参数。
    success V2NIMSuccessCallback 添加好友成功回调。
    failure V2NIMFailureCallback 添加好友失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptaddFriend(accountId: string, params: V2NIMFriendAddParams): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 需要添加为好友的账号 ID。
    params V2NIMFriendAddParams 添加好友的配置参数。
    Node.js/Electron
    TypeScriptaddFriend(accountId, params): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 需要添加为好友的账号 ID。
    params V2NIMFriendAddParams 添加好友的配置参数。
    HarmonyOS
    TypeScriptaddFriend(accountId: string, params: V2NIMFriendAddParams): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 需要添加为好友的账号 ID。
    params V2NIMFriendAddParams 添加好友的配置参数。

    示例代码

    Android
    JavaV2NIMFriendAddParams addParams = V2NIMFriendAddParams.V2NIMFriendAddParamsBuilder.builder(addMode)
            .withPostscript("xxx")
            .build();
    NIMClient.getService(V2NIMFriendService.class).addFriend("accoundId", addParams,
            new V2NIMSuccessCallback<Void>() {
                @Override
                public void onSuccess(Void unused) {
                    // addMode == V2NIM_FRIEND_MODE_TYPE_ADD "添加好友成功"
                    // addMode == V2NIM_FRIEND_MODE_TYPE_APPLY "添加好友请求发送成功"
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            });
    
    iOS
    Objective-CV2NIMFriendAddParams *addParams = [V2NIMFriendAddParams new];
    addParams.addMode = V2NIM_FRIEND_MODE_TYPE_ADD;
    addParams.postscript = @"您好。我是 XXX";
    [[[NIMSDK sharedSDK] v2FriendService] addFriend:@"accountId" params:addParams success:^{
    
    } failure:^(V2NIMError * _Nonnull error) {
    
    }];
    
    macOS/Windows
    C++V2NIMFriendAddParams params;
    params.addMode = V2NIM_FRIEND_MODE_TYPE_ADD;
    params.postscript = "hello";
    friendService.addFriend(
        "account",
        params,
        []() {
            // add friend success
        },
        [](V2NIMError error) {
            // add friend failed, handle error
        }
    );
    
    Web/uni-app/小程序
    TypeScriptnim.V2NIMFriendService.addFriend('accountId', {
        addMode: 2,
        postscript: '您好,我是 xxx'
    });
    
    Node.js/Electron
    TypeScriptawait v2.friendService.addFriend('accountId', {
        addMode: 1
    })
    
    HarmonyOS
    TypeScriptnim.friendService.addFriend('accountId', {
        addMode: 2,
        postscript: '您好,我是 xxx'
    })
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。添加好友成功,返回 onFriendAdded 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。

    :::

    Web/uni-app/小程序/HarmonyOS

    添加好友成功,返回 onFriendAdded 回调。

    Node.js/Electron

    添加好友成功,返回 friendAdded 回调。

    deleteFriend

    接口描述

    删除好友。当前的删除是指双向删除,即当一个用户将另一个用户从好友列表中删除时,双方的好友关系都会被解除。

    调用接口成功后,本端和对端(被删除的好友)都会收到 onFriendDeleted 回调。

    参数说明

    Android
    Javavoid deleteFriend(String accountId, V2NIMFriendDeleteParams params, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    accountId String 需要删除的好友的账号 ID。
    params V2NIMFriendDeleteParams 删除好友的配置参数。
    success V2NIMSuccessCallback 删除好友成功回调。
    failure V2NIMFailureCallback 删除好友失败回调,返回 错误码
    iOS
    Objective-C- (void)deleteFriend:(NSString *)accountId
                  params:(V2NIMFriendDeleteParams *)params
                 success:(nullable V2NIMSuccessCallback)success
                 failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    accountId NSString * 需要删除的好友的账号 ID。
    params V2NIMFriendDeleteParams 删除好友的配置参数。
    success V2NIMSuccessCallback 删除好友成功回调。
    failure V2NIMFailureCallback 删除好友失败回调,返回 错误码
    macOS/Windows
    C++virtual void deleteFriend(nstd::string accountId,
                              V2NIMFriendDeleteParams params,
                              V2NIMSuccessCallback<void> success,
                              V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    accountId nstd::string 需要删除的好友的账号 ID。
    params V2NIMFriendDeleteParams 删除好友的配置参数。
    success V2NIMSuccessCallback 删除好友成功回调。
    failure V2NIMFailureCallback 删除好友失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptdeleteFriend(accountId: string, params: V2NIMFriendDeleteParams): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 需要删除的好友的账号 ID。
    params V2NIMFriendDeleteParams 删除好友的配置参数。
    Node.js/Electron
    TypeScriptdeleteFriend(accountId, params): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 需要删除的好友的账号 ID。
    params V2NIMFriendDeleteParams 删除好友的配置参数。
    HarmonyOS
    TypeScriptdeleteFriend(accountId: string, params: V2NIMFriendDeleteParams): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 需要删除的好友的账号 ID。
    params V2NIMFriendDeleteParams 删除好友的配置参数。

    示例代码

    Android
    JavaV2NIMFriendDeleteParams deleteParams = V2NIMFriendDeleteParams.V2NIMFriendDeleteParamsBuilder.builder()
            .withDeleteAlias(deleteAlias)
            .build();
    NIMClient.getService(V2NIMFriendService.class).deleteFriend("accoundId", deleteParams,
            new V2NIMSuccessCallback<Void>() {
                @Override
                public void onSuccess(Void unused) {
    
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            });
    
    iOS
    Objective-CV2NIMFriendDeleteParams *deleteParams = [V2NIMFriendDeleteParams new];
    deleteParams.deleteAlias = YES;
    [[[NIMSDK sharedSDK] v2FriendService] deleteFriend:@"accountId" params:deleteParams success:^{
    
    } failure:^(V2NIMError * _Nonnull error) {
    
    }];
    
    macOS/Windows
    C++V2NIMFriendDeleteParams params;
    params.deleteAlias = true;
    friendService.deleteFriend(
        "account",
        params,
        []() {
            // delete friend success
        },
        [](V2NIMError error) {
            // delete friend failed, handle error
        }
    );
    
    Web/uni-app/小程序
    TypeScriptnim.V2NIMFriendService.deleteFriend('accountId', {
        deleteAlias: true
    });
    
    Node.js/Electron
    TypeScriptawait v2.friendService.deleteFriend('accountId', {
        deleteAlias: true
    })
    
    HarmonyOS
    TypeScriptnim.friendService.deleteFriend('accountId', {
        deleteAlias: true
    })
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。删除成功,返回 onFriendDeleted 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。

    :::

    Web/uni-app/小程序/HarmonyOS

    更新成功,返回 onFriendDeleted 回调。

    Node.js/Electron

    更新成功,返回 friendDeleted 回调。

    acceptAddApplication

    接口描述

    接受好友申请。调用接口成功后,本端和对端(发起好友申请的用户)都会收到 onFriendAdded 回调。

    操作完成后,SDK 内部会更新申请添加好友信息(applicationInfo)相关操作的状态(V2NIMFriendAddApplicationStatus)并处理相关错误码。

    参数说明

    Android
    Javavoid acceptAddApplication(V2NIMFriendAddApplication application, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    success V2NIMSuccessCallback 接受好友申请成功回调。
    failure V2NIMFailureCallback 接受好友申请失败回调,返回 错误码
    iOS
    Objective-C- (void)acceptAddApplication:(V2NIMFriendAddApplication *)application
                         success:(nullable V2NIMSuccessCallback)success
                         failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    success V2NIMSuccessCallback 接受好友申请成功回调。
    failure V2NIMFailureCallback 接受好友申请失败回调,返回 错误码
    macOS/Windows
    C++virtual void acceptAddApplication(V2NIMFriendAddApplication application, V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    success V2NIMSuccessCallback 接受好友申请成功回调。
    failure V2NIMFailureCallback 接受好友申请失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptacceptAddApplication(application: V2NIMFriendAddApplication): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    Node.js/Electron
    TypeScriptacceptAddApplication(application): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    HarmonyOS
    TypeScriptacceptAddApplication(application: V2NIMFriendAddApplication): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。

    示例代码

    Android
    Java// V2NIMFriendAddApplication application 无法构造,从查询接口获得
    NIMClient.getService(V2NIMFriendService.class).acceptAddApplication(application,
            new V2NIMSuccessCallback<Void>() {
                @Override
                public void onSuccess(Void unused) {
    
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            });
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] acceptAddApplication:application success:^{
    
    } failure:^(V2NIMError * _Nonnull error) {
    
    }];
    
    macOS/Windows
    C++V2NIMFriendAddApplication application;
    // get application from listener or query
    // ...
    friendService.acceptAddApplication(
        application,
        []() {
            // accept friend request success
        },
        [](V2NIMError error) {
            // accept friend request failed, handle error
        }
    );
    
    Web/uni-app/小程序
    TypeScriptnim.V2NIMFriendService.acceptAddApplication(application);
    
    Node.js/Electron
    TypeScriptawait v2.friendService.acceptAddApplication(application)
    
    HarmonyOS
    TypeScriptnim.friendService.acceptAddApplication(application)
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。接受好友申请成功,返回 onFriendAdded 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/HarmonyOS

    接受好友申请成功,返回 onFriendAdded 回调。

    Node.js/Electron

    接受好友申请成功,返回 friendAdded 回调。

    rejectAddApplication

    接口描述

    拒绝好友申请。调用接口成功后,对端(发起好友申请的用户)会收到 onFriendAddRejected 回调。

    操作完成后,SDK 内部会更新申请添加好友信息(applicationInfo)相关操作的状态(V2NIMFriendAddApplicationStatus)并处理相关错误码。

    参数说明

    Android
    Javavoid rejectAddApplication(V2NIMFriendAddApplication application, String postscript, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    postscript String 拒绝好友申请的附言。
    success V2NIMSuccessCallback 拒绝好友申请成功回调。
    failure V2NIMFailureCallback 拒绝好友申请失败回调,返回 错误码
    iOS
    Objective-C- (void)rejectAddApplication:(V2NIMFriendAddApplication *)application
                      postscript:(NSString *)postscript
                         success:(nullable V2NIMSuccessCallback)success
                         failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    postscript NSString * 拒绝好友申请的附言。
    success V2NIMSuccessCallback 拒绝好友申请成功回调。
    failure V2NIMFailureCallback 拒绝好友申请失败回调,返回 错误码
    macOS/Windows
    C++virtual void rejectAddApplication(V2NIMFriendAddApplication application,
                                     std::string postscript,
                                     V2NIMSuccessCallback<void> success,
                                     V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    postscript std::string 拒绝好友申请的附言。
    success V2NIMSuccessCallback 拒绝好友申请成功回调。
    failure V2NIMFailureCallback 拒绝好友申请失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptrejectAddApplication(application: V2NIMFriendAddApplication, postscript?: string): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    postscript string 拒绝好友申请的附言。
    Node.js/Electron
    TypeScriptrejectAddApplication(application, postscript): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    postscript string 拒绝好友申请的附言。
    HarmonyOS
    TypeScriptrejectAddApplication(application: V2NIMFriendAddApplication, postscript?: string): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    postscript string 拒绝好友申请的附言。

    示例代码

    Android
    Java// V2NIMFriendAddApplication application 无法构造,从查询接口获得
    NIMClient.getService(V2NIMFriendService.class).rejectAddApplication(application,
            new V2NIMSuccessCallback<Void>() {
                @Override
                public void onSuccess(Void unused) {
    
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            });
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] rejectAddApplication:application postscript:@"XXX" success:^{
    
        } failure:^(V2NIMError * _Nonnull error) {
    
    }];
    
    macOS/Windows
    C++V2NIMFriendAddApplication application;
    // get application from listener or query
    // ...
    friendService.rejectAddApplication(
        application,
        "postscript",
        []() {
            // reject friend request success
        },
        [](V2NIMError error) {
            // reject friend request failed, handle error
        }
    );
    
    Web/uni-app/小程序
    TypeScriptnim.V2FriendService.rejectAddApplication(application, 'ps');
    
    Node.js/Electron
    TypeScriptawait v2.friendService.rejectAddApplication(application, 'reason')
    
    HarmonyOS
    TypeScriptnim.friendService.rejectAddApplication(application, 'ps')
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。拒绝好友申请成功,返回 onFriendAddRejected 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/HarmonyOS

    拒绝好友申请成功,返回 onFriendAddRejected 回调。

    Node.js/Electron

    拒绝好友申请成功,返回 friendAddRejected 回调。

    setFriendInfo

    接口描述

    设置好友信息。调用该接口成功后,本端会收到 onFriendInfoChanged 回调。

    参数说明

    Android
    Javavoid setFriendInfo(String accountId, V2NIMFriendSetParams params, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    accountId String 申请添加好友的相关信息。
    params V2NIMFriendSetParams 设置好友信息的配置参数。
    success V2NIMSuccessCallback 设置好友信息成功回调。
    failure V2NIMFailureCallback 设置好友信息失败回调,返回 错误码
    iOS
    Objective-C- (void)setFriendInfo:(NSString *)accountId
                   params:(V2NIMFriendSetParams *)params
                  success:(nullable V2NIMSuccessCallback)success
                  failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    accountId NSString * 申请添加好友的相关信息。
    params V2NIMFriendSetParams 设置好友信息的配置参数。
    success V2NIMSuccessCallback 设置好友信息成功回调。
    failure V2NIMFailureCallback 设置好友信息失败回调,返回 错误码
    macOS/Windows
    C++virtual void setFriendInfo(std::string accountId,
                               V2NIMFriendSetParams params,
                               V2NIMSuccessCallback<void> success,
                               V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    accountId std::string 申请添加好友的相关信息。
    params V2NIMFriendSetParams 设置好友信息的配置参数。
    success V2NIMSuccessCallback 设置好友信息成功回调。
    failure V2NIMFailureCallback 设置好友信息失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptsetFriendInfo(accountId: string, params: V2NIMFriendSetParams): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 申请添加好友的相关信息。
    params V2NIMFriendSetParams 设置好友信息的配置参数。
    Node.js/Electron
    TypeScriptsetFriendInfo(accountId, params): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 申请添加好友的相关信息。
    params V2NIMFriendSetParams 设置好友信息的配置参数。
    HarmonyOS
    TypeScriptsetFriendInfo(accountId: string, params: V2NIMFriendSetParams): Promise<void>
    
    参数名称 类型 是否必填 说明
    accountId string 申请添加好友的相关信息。
    params V2NIMFriendSetParams 设置好友信息的配置参数。

    示例代码

    Android
    JavaV2NIMFriendSetParams setParams = V2NIMFriendSetParams.V2NIMFriendSetParamsBuilder.builder()
            .withAlias(alias)
            .withServerExtension(serverExtension)
            .build();
    NIMClient.getService(V2NIMFriendService.class).setFriendInfo("accountId", setParams,
            new V2NIMSuccessCallback<Void>() {
                @Override
                public void onSuccess(Void unused) {
    
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            });
    
    iOS
    Objective-CV2NIMFriendSetParams *setParams = [V2NIMFriendSetParams new];
    setParams.alias = @"XXX";
    setParams.serverExtension = @"XXX";
    [[[NIMSDK sharedSDK] v2FriendService] setFriendInfo:@"accountId" params:setParams success:^{
    
    } failure:^(V2NIMError * _Nonnull error) {
    
    }];
    
    macOS/Windows
    C++V2NIMFriendSetParams params;
    params.alias = "alias";
    friendService.setFriendInfo(
        "account",
        params,
        []() {
            // set friend info success
        },
        [](V2NIMError error) {
            // set friend info failed, handle error
        });
    
    Web/uni-app/小程序
    TypeScriptnim.V2NIMFriendService.setFriendInfo('accountId', {
        alias: 'alias',
        serverExtension: 'serverExtension'
    });
    
    Node.js/Electron
    TypeScriptawait v2.friendService.setFriendInfo('accountId', {
        alias: 'alias'
    })
    
    HarmonyOS
    TypeScriptnim.friendService.setFriendInfo('accountId', {
        alias: 'alias',
        serverExtension: 'serverExtension'
    })
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。设置好友信息成功后,返回 onFriendInfoChanged 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/HarmonyOS

    设置好友信息成功后,返回 onFriendInfoChanged 回调。

    Node.js/Electron

    设置好友信息成功后,返回 friendInfoChanged 回调。

    getFriendList

    接口描述

    本地查询好友列表。

    用户登录后,SDK 开始同步好友信息,建议同步完成后,调用该接口拉取完整的好友信息列表。

    参数说明

    Android
    Javavoid getFriendList(V2NIMSuccessCallback<List<V2NIMFriend>> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 查询成功回调,返回 V2NIMFriend 列表。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    iOS
    Objective-C- (void)getFriendList:(nullable V2NIMGetFirendListSuccess)success
                  failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    success V2NIMGetFirendListSuccess 查询成功回调,可自定义设置。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    macOS/Windows
    C++virtual void getFriendList(V2NIMSuccessCallback<nstd::vector<V2NIMFriend>> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 查询成功回调,返回 V2NIMFriend 列表。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptgetFriendList(): Promise<V2NIMFriend[]>
    
    Node.js/Electron
    TypeScriptgetFriendList(): Promise<V2NIMFriend[]>
    
    HarmonyOS
    TypeScriptgetFriendList(): Promise<V2NIMFriend[]>
    

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).getFriendList(
            new V2NIMSuccessCallback<List<V2NIMFriend>>() {
                @Override
                public void onSuccess(List<V2NIMFriend> v2NIMFriends) {
    
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            });
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] getFriendList:^(NSArray<V2NIMFriend *> * _Nonnull result) {
    
    } failure:^(V2NIMError * _Nonnull error) {
    
    }];
    
    macOS/Windows
    C++friendService.getFriendList(
        [](std::vector<V2NIMFriend> friends) {
            // get friend list success, handle friends
        },
        [](V2NIMError error) {
            // get friend list failed, handle error
        }
    );
    
    Web/uni-app/小程序
    TypeScriptconst friends = nim.V2NIMFriendService.getFriendList();
    
    Node.js/Electron
    TypeScriptconst friends = await v2.friendService.getFriendList()
    
    HarmonyOS
    TypeScriptconst friends = nim.friendService.getFriendList()
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<V2NIMFriend[]>:好友信息列表

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMFriend 列表。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMGetFirendListSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    getFriendByIds

    接口描述

    根据账号 ID 获取好友信息列表,只返回账号 ID 存在的好友信息。

    参数说明

    Android
    Javavoid getFriendByIds(List<String> accountIds, V2NIMSuccessCallback<List<V2NIMFriend>> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    accountIds List<String> 需要查询信息的好友 ID 列表。
    success V2NIMSuccessCallback 查询成功回调,返回 V2NIMFriend 列表。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    iOS
    Objective-C- (void)getFriendByIds:(NSArray <NSString *> *)accountIds
                   success:(nullable V2NIMGetFirendListSuccess)success
                   failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    accountIds NSArray<NSString *> * 需要查询信息的好友 ID 列表。
    success V2NIMGetFirendListSuccess 查询成功回调,可自定义设置。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    macOS/Windows
    C++virtual void getFriendByIds(std::vector<std::string> accountIds,
        V2NIMSuccessCallback<std::vector<V2NIMFriend>> success,
        V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    accountIds std::vector<std::string> 需要查询信息的好友 ID 列表。
    success V2NIMSuccessCallback 查询成功回调,返回 V2NIMFriend 列表。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptgetFriendByIds(accountIds: string[]): Promise<V2NIMFriend[]>
    
    参数名称 类型 是否必填 说明
    accountIds string[] 需要查询信息的好友 ID 列表。
    Node.js/Electron
    TypeScriptgetFriendByIds(accountIds): Promise<V2NIMFriend[]>
    
    参数名称 类型 是否必填 说明
    accountIds string[] 需要查询信息的好友 ID 列表。
    HarmonyOS
    TypeScriptgetFriendByIds(accountIds: string[]): Promise<V2NIMFriend[]>
    
    参数名称 类型 是否必填 说明
    accountIds string[] 需要查询信息的好友 ID 列表。

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).getFriendByIds(accountIds,
            new V2NIMSuccessCallback<List<V2NIMFriend>>() {
                @Override
                public void onSuccess(List<V2NIMFriend> v2NIMFriends) {
    
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            });
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] getFriendByIds:@[@"accountId1",@"accountId2"] success:^(NSArray<V2NIMFriend *> * _Nonnull result) {
    
        } failure:^(V2NIMError * _Nonnull error) {
    
        }];
    
    macOS/Windows
    C++friendService.getFriendByIds(
        {"account1", "account2"},
        [](std::vector<V2NIMFriend> friends) {
            // get friend list success, handle friends
        },
        [](V2NIMError error) {
            // get friend list failed, handle error
        });
    
    Web/uni-app/小程序
    TypeScriptconst friends = await nim.V2NIMFriendService.getFriendByIds(['accountId1', 'accountId2']);
    
    Node.js/Electron
    TypeScriptconst friends = await v2.friendService.getFriendByIds(['accountId1', 'accountId2'])
    
    HarmonyOS
    TypeScriptconst friends = await nim.friendService.getFriendByIds(['accountId1', 'accountId2'])
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<V2NIMFriend[]>:好友信息列表

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMFriend 列表。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMGetFirendListSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    checkFriend

    接口描述

    根据账号 ID 查询好友状态。

    参数说明

    Android
    Javavoid checkFriend(List<String> accountIds, V2NIMSuccessCallback<Map<String, Boolean>> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    accountIds List<String> 需要查询好友状态的账号 ID 列表。
    success V2NIMSuccessCallback 查询成功回调,返回每个好友账号 ID 的状态值。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    iOS
    Objective-C- (void)checkFriend:(NSArray <NSString *> *)accountIds
                success:(nullable V2NIMCheckFriendSuccess)success
                failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    accountIds NSArray<NSString *> * 需要查询好友状态的账号 ID 列表。
    success V2NIMCheckFriendSuccess 查询成功回调,可自定义设置。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    macOS/Windows
    C++virtual void checkFriend(std::vector<std::string> accountIds,
            V2NIMSuccessCallback<std::map<std::string, bool>> success,
            V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    accountIds std::vector<std::string> 需要查询好友状态的账号 ID 列表。
    success V2NIMSuccessCallback 查询成功回调,返回每个好友账号 ID 的状态值。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptcheckFriend(accountIds: string[]): Promise<V2NIMCheckFriendResult>
    
    参数名称 类型 是否必填 说明
    accountIds string[] 需要查询好友状态的账号 ID 列表。
    Node.js/Electron
    TypeScriptcheckFriend(accountIds): Promise<Map<string, boolean>>
    
    参数名称 类型 是否必填 说明
    accountIds string[] 需要查询好友状态的账号 ID 列表。
    HarmonyOS
    TypeScriptcheckFriend(accountIds: string[]): Promise<V2NIMCheckFriendResult>
    
    参数名称 类型 是否必填 说明
    accountIds string[] 需要查询好友状态的账号 ID 列表。

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).checkFriend(accountIds, new V2NIMSuccessCallback<Map<String, Boolean>>() {
        @Override
        public void onSuccess(Map<String, Boolean> stringBooleanMap) {
    
        }
    }, new V2NIMFailureCallback() {
        @Override
        public void onFailure(V2NIMError error) {
    
        }
    });
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] checkFriend:@[@"accountId1",@"accountId2"] success:^(NSDictionary<NSString *,NSNumber *> * _Nonnull result) {
    
        } failure:^(V2NIMError * _Nonnull error) {
    
    }];
    
    macOS/Windows
    C++friendService.checkFriend(
        {"account1", "account2"},
        [](nstd::map<nstd::string, bool> checkList) {
            // check friend success, handle checkList
        },
        [](V2NIMError error) {
            // check friend failed, handle error
        });
    
    Web/uni-app/小程序
    TypeScriptconst res = await nim.V2NIMFriendService.checkFriend(['accountId1', 'accountId2']);
    
    Node.js/Electron
    TypeScriptconst res = await v2.friendService.checkFriend(['accountId1', 'accountId2'])
    
    HarmonyOS
    TypeScriptconst res = await nim.friendService.checkFriend(['accountId1', 'accountId2'])
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<V2NIMCheckFriendResult>:好友状态查询结果

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含每个好友账号 ID 的状态值。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMCheckFriendSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    getAddApplicationList

    接口描述

    获取申请添加好友信息列表。

    SDK 将按照从新到旧的顺序进行查询。

    参数说明

    Android
    Javavoid getAddApplicationList(V2NIMFriendAddApplicationQueryOption option, V2NIMSuccessCallback<V2NIMFriendAddApplicationResult> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendAddApplicationQueryOption 查询申请添加好友信息的相关配置参数。
    success V2NIMSuccessCallback 查询成功回调,返回 V2NIMFriendAddApplicationResult
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    iOS
    Objective-C- (void)getAddApplicationList:(V2NIMFriendAddApplicationQueryOption *)option
                          success:(nullable V2NIMGetApplicationListSuccess)success
                          failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendAddApplicationQueryOption 查询申请添加好友信息的相关配置参数。
    success V2NIMGetApplicationListSuccess 查询成功回调,可自定义设置。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    macOS/Windows
    C++virtual void getAddApplicationList(V2NIMFriendAddApplicationQueryOption option,
                                       V2NIMSuccessCallback<V2NIMFriendAddApplicationResult> success,
                                       V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendAddApplicationQueryOption 查询申请添加好友信息的相关配置参数。
    success V2NIMSuccessCallback 查询成功回调,返回 V2NIMFriendAddApplicationResult
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptgetAddApplicationList(option: V2NIMFriendAddApplicationQueryOption): Promise<V2NIMFriendAddApplicationResult>
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendAddApplicationQueryOption 查询申请添加好友信息的相关配置参数。
    Node.js/Electron
    TypeScriptgetAddApplicationList(option): Promise<V2NIMFriendAddApplicationResult>
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendAddApplicationQueryOption 查询申请添加好友信息的相关配置参数。
    HarmonyOS
    TypeScriptgetAddApplicationList(option: V2NIMFriendAddApplicationQueryOption): Promise<V2NIMFriendAddApplicationResult>
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendAddApplicationQueryOption 查询申请添加好友信息的相关配置参数。

    示例代码

    Android
    JavaV2NIMFriendAddApplicationQueryOption option = V2NIMFriendAddApplicationQueryOption.V2NIMFriendAddApplicationQueryOptionBuilder.builder()
            .withLimit(limit)
            .withOffset(offset)
            .withStatus(statuses)
            .build();
    NIMClient.getService(V2NIMFriendService.class).getAddApplicationList(option,
            new V2NIMSuccessCallback<V2NIMFriendAddApplicationResult>() {
                @Override
                public void onSuccess(V2NIMFriendAddApplicationResult v2NIMFriendAddApplicationResult) {
    
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            }
    );
    
    iOS
    Objective-CV2NIMFriendAddApplicationQueryOption *queryOption = [V2NIMFriendAddApplicationQueryOption new];
    queryOption.offset = 0;
    queryOption.limit = 50;
    [[[NIMSDK sharedSDK] v2FriendService] getAddApplicationList:queryOption success:^(V2NIMFriendAddApplicationResult * _Nonnull result) {
    
    } failure:^(V2NIMError * _Nonnull error) {
    
    }];
    
    macOS/Windows
    C++V2NIMFriendAddApplicationQueryOption option;
    option.offset = 0;
    option.limit = 10;
    friendService.getAddApplicationList(
        option,
        [](V2NIMFriendAddApplicationResult result) {
            // 查询添加申请列表成功,处理结果
        },
        [](V2NIMError error) {
            // 查询添加申请列表失败,处理错误
        });
    
    Web/uni-app/小程序
    TypeScriptconst applicationList = await nim.V2NIMFriendService.getAddApplicationList({
        offset: 0,
        limit: 50
    });
    
    Node.js/Electron
    TypeScriptconst applicationList = await v2.friendService.getAddApplicationList({
        offset: 0,
        limit: 50
    });
    
    HarmonyOS
    TypeScriptconst applicationList = await nim.friendService.getAddApplicationList({
        offset: 0,
        limit: 50
    })
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<V2NIMFriendAddApplicationResult>:申请添加好友信息查询结果。

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMFriendAddApplicationResult
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMGetApplicationListSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    getAddApplicationUnreadCount

    接口描述

    获取未读的好友申请(状态为未处理)数量。

    参数说明

    Android
    Javavoid getAddApplicationUnreadCount(V2NIMSuccessCallback<Integer> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 查询成功回调,返回未读好友申请数量。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    iOS
    Objective-C- (void)getAddApplicationUnreadCount:(nullable V2NIMGetApplicationUnreadCountSuccess)success
                                 failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    success V2NIMGetApplicationUnreadCountSuccess 查询成功回调,可自定义设置。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    macOS/Windows
    C++virtual void getAddApplicationUnreadCount(V2NIMSuccessCallback<uint32_t> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 查询成功回调,返回未读好友申请数量。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptgetAddApplicationUnreadCount(): Promise<number>
    

    无参数。

    Node.js/Electron
    TypeScriptgetAddApplicationUnreadCount(): Promise<number>
    

    无参数。

    HarmonyOS
    TypeScriptgetAddApplicationUnreadCount(): Promise<number>
    

    无参数。

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).getAddApplicationUnreadCount(
    new V2NIMSuccessCallback<Integer>() {
        @Override
        public void onSuccess(Integer count) {
            // 查询结果为 count
        }
    }, new V2NIMFailureCallback() {
        @Override
        public void onFailure(V2NIMError error) {
            // 查询失败
        }
    });
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] getAddApplicationUnreadCount:^(NSInteger count) {
        // 获取未读数,成功回调
    } failure:^(V2NIMError * _Nonnull error) {
        // 取未读数,失败回调
    }];
    
    macOS/Windows
    C++friendService.getAddApplicationUnreadCount(
       [](uint32_t count) {
           // get add application unread count success, handle count
       },
       [](V2NIMError error) {
           // get add application unread count failed, handle error
       });
    
    Web/uni-app/小程序
    TypeScripttry {
        const count = await nim.V2NIMFriendService.getAddApplicationUnreadCount()
    } catch(err) {
        console.error('getAddApplicationUnreadCount Error:', err)
    }
    
    Node.js/Electron
    TypeScripttry {
        const count = await nim.V2NIMFriendService.getAddApplicationUnreadCount()
    } catch(err) {
        console.error('getAddApplicationUnreadCount Error:', err)
    }
    
    HarmonyOS
    TypeScripttry {
        const count = await nim.friendService.getAddApplicationUnreadCount()
    } catch(err) {
        console.error('getAddApplicationUnreadCount Error:', err)
    }
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<number> 未读的好友申请数量

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含未读的好友申请数量。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,返回 V2NIMGetApplicationUnreadCountSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    setAddApplicationRead

    接口描述

    设置好友申请已读。

    调用该方法,历史未读的好友申请数据均标记为已读。

    参数说明

    Android
    Javavoid setAddApplicationRead(V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 设置成功回调。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    iOS
    Objective-C- (void)setAddApplicationRead:(nullable V2NIMSetApplicationReadSuccess)success
                          failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    success V2NIMSetApplicationReadSuccess 设置成功回调,可自定义设置。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    macOS/Windows
    C++virtual void setAddApplicationRead(V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 设置成功回调。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptsetAddApplicationRead(): Promise<void>
    

    无参数。

    Node.js/Electron
    TypeScriptsetAddApplicationRead(): Promise<void>
    

    无参数。

    HarmonyOS
    TypeScriptsetAddApplicationRead(): Promise<void>
    

    无参数。

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).setAddApplicationRead(
    new V2NIMSuccessCallback<Void>() {
        @Override
        public void onSuccess(Void unused) {
            // 设置已读成功
        }
    }, new V2NIMFailureCallback() {
        @Override
        public void onFailure(V2NIMError error) {
            // 设置已读失败
        }
    });
    
    iOS
    Objective-C[[[NIMSDK sharedSDK] v2FriendService] setAddApplicationRead:^(BOOL success) {
        // 设置已读,成功回调
    } failure:^(V2NIMError * _Nonnull error) {
        // 失败回调
    }];
    
    macOS/Windows
    C++friendService.setAddApplicationRead(
        []() {
            // set add application read success
        },
        [](V2NIMError error) {
            // set add application read failed, handle error
        });
    
    Web/uni-app/小程序
    TypeScripttry {
        await nim.V2NIMFriendService.setAddApplicationRead()
    } catch(err) {
        console.error('setAddApplicationRead Error:', err)
    }
    
    Node.js/Electron
    TypeScripttry {
        await v2.friendService.getAddApplicationUnreadCount()
    } catch(err) {
        console.error('setAddApplicationRead Error:', err)
    }
    
    HarmonyOS
    TypeScripttry {
        await nim.friendService.setAddApplicationRead()
    } catch(err) {
        console.error('setAddApplicationRead Error:', err)
    }
    

    返回参数

    无返回值。

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,返回 V2NIMSetApplicationReadSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    setAddApplicationReadEx

    接口描述

    设置好友申请已读。

    调用该方法,历史未读的好友申请数据均标记为已读。

    参数说明

    Android
    Javavoid setAddApplicationReadEx(V2NIMFriendAddApplication application,V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。传入 null,则标记所有状态为已读;若不为 null,则标记同一组(申请者相同)申请信息。
    success V2NIMSuccessCallback 设置成功回调。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    iOS
    Objective-C- (void)setAddApplicationReadEx:(nullable V2NIMFriendAddApplication *)application
                            success:(nullable V2NIMSuccessCallback)success
                            failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。传入 null,则标记所有状态为已读;若不为 null,则标记同一组(申请者相同)申请信息。
    success V2NIMSuccessCallback 设置成功回调。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    macOS/Windows
    C++virtual void setAddApplicationReadEx(const nstd::optional<V2NIMFriendAddApplication>& application,
        V2NIMSuccessCallback<void> success,
        V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。传入 null,则标记所有状态为已读;若不为 null,则标记同一组(申请者相同)申请信息。
    success V2NIMSuccessCallback 设置成功回调。
    failure V2NIMFailureCallback 查询失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptsetAddApplicationReadEx(application?: V2NIMFriendAddApplication): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。传入 null,则标记所有状态为已读;若不为 null,则标记同一组(申请者相同)申请信息。
    Node.js/Electron
    TypeScriptsetAddApplicationReadEx(application: V2NIMFriendAddApplication): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。传入 null,则标记所有状态为已读;若不为 null,则标记同一组(申请者相同)申请信息。
    HarmonyOS
    TypeScriptsetAddApplicationReadEx(application: V2NIMFriendAddApplication): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。传入 null,则标记所有状态为已读;若不为 null,则标记同一组(申请者相同)申请信息。

    示例代码

    Android
    Java/**
         * 标记特定好友申请为已读
         * 将指定的好友申请标记为已读状态
         */
        public void markSpecificApplicationAsRead(V2NIMFriendAddApplication application) {
            NIMClient.getService(V2NIMFriendService.class).setAddApplicationReadEx(
                    application, // 传入具体的好友申请信息
                    new V2NIMSuccessCallback<Void>() {
                        @Override
                        public void onSuccess(Void result) {
                            System.out.println("成功标记好友申请为已读");
                            // 更新UI,移除该申请的未读标识
                            onApplicationReadSuccess(application);
                        }
                    },
                    new V2NIMFailureCallback() {
                        @Override
                        public void onFailure(int code, String desc) {
                            System.err.println("标记好友申请已读失败,错误码: " + code + ", 错误描述: " + desc);
                            // 处理失败情况
                            onApplicationReadFailed(application, code, desc);
                        }
                    }
            );
        }
    
    iOS
    Objective-C- (void)markApplicationAsRead:(V2NIMFriendAddApplication *)application {
        [[NIMSDK sharedSDK].V2NIMFriendService setAddApplicationReadEx:application 
                                                            success:^{
            NSLog(@"成功标记好友申请为已读");
        } failure:^(NSInteger code, NSString * _Nullable desc) {
            NSLog(@"标记好友申请已读失败,错误码: %ld, 错误描述: %@", (long)code, desc);
        }];
    }
    
    macOS/Windows
    C++friendService.setAddApplicationReadEx(
        application,
        []() {
            // set add application read success
        },
        [](V2NIMError error) {
            // set add application read failed, handle error
        });
    
    Web/uni-app/小程序
    TypeScript// 全量已读
    await nim.V2NIMFriendService.setAddApplicationReadEx(undefined)
    
    // 单挑已读
    const res: V2NIMFriendAddApplicationResult = await nim.V2NIMFriendService.getAddApplicationList({
      status: [] // means all status
    })
    
    if (res.infos.length > 0) {
      const lastAction = res.infos[0]
      await nim.V2NIMFriendService.setAddApplicationReadEx(lastAction)
    }
    
    
    Node.js/Electron
    TypeScriptawait v2.friendService.setAddApplicationReadEx(application)
    
    HarmonyOS
    TypeScript// 全量已读
    await nim.friendService.setAddApplicationReadEx(undefined)
    
    // 单挑已读
    const res: V2NIMFriendAddApplicationResult = await nim.friendService.getAddApplicationList({
      status: [] // means all status
    })
    
    if (res.infos.length > 0) {
      const lastAction = res.infos[0]
      await friendService.setAddApplicationReadEx(lastAction)
    }
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    searchFriendByOption

    接口描述

    根据关键字信息搜索好友信息。

    参数说明

    Android
    Javavoid searchFriendByOption(V2NIMFriendSearchOption friendSearchOption, V2NIMSuccessCallback<List<V2NIMFriend>> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    friendSearchOption V2NIMFriendSearchOption 好友搜索的相关配置参数。
    success V2NIMSuccessCallback 搜索成功回调,返回 V2NIMFriend 列表。
    failure V2NIMFailureCallback 搜索失败回调,返回 错误码
    iOS
    Objective-C- (void)searchFriendByOption:(V2NIMFriendSearchOption *)friendSearchOption
                         success:(nullable V2NIMGetFirendListSuccess)success
                         failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    friendSearchOption V2NIMFriendSearchOption 好友搜索的相关配置参数。
    success V2NIMGetFirendListSuccess 搜索成功回调,可自定义设置。
    failure V2NIMFailureCallback 搜索失败回调,返回 错误码
    macOS/Windows
    C++virtual void searchFriendByOption(const V2NIMFriendSearchOption& option,V2NIMSuccessCallback<nstd::vector<V2NIMFriend>> success,V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendSearchOption 好友搜索的相关配置参数。
    success V2NIMSuccessCallback 搜索成功回调,返回 V2NIMFriend 列表。
    failure V2NIMFailureCallback 搜索失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptsearchFriendByOption(option: V2NIMFriendSearchOption): Promise<V2NIMFriend[]>
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendSearchOption 好友搜索的相关配置参数。
    Node.js/Electron
    TypeScriptsearchFriendByOption(option): Promise<V2NIMFriend[]>
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendSearchOption 好友搜索的相关配置参数。
    HarmonyOS
    TypeScriptsearchFriendByOption(option: V2NIMFriendSearchOption): Promise<V2NIMFriend[]>
    
    参数名称 类型 是否必填 说明
    option V2NIMFriendSearchOption 好友搜索的相关配置参数。

    示例代码

    Android
    Java// 按需配置
    // .withSearchAccountId()
    // .withSearchAlias()
    .build();
    
    NIMClient.getService(V2NIMFriendService.class).searchFriendByOption(option,
            new V2NIMSuccessCallback<List<V2NIMFriend>>() {
                @Override
                public void onSuccess(List<V2NIMFriend> v2NIMFriends) {
    
                }
            },
            new V2NIMFailureCallback() {
                @Override
                public void onFailure(V2NIMError error) {
    
                }
            });
    
    iOS
    Objective-C// 按需配置
    option.searchAlias = YES;
    option.searchAccountId = YES;
    
    [NIMSDK.sharedSDK.v2FriendService searchFriendByOption:option
                                                   success:^(NSArray <V2NIMFriend *> *result)
    {
        // 成功回调
    }
                                                   failure:^(V2NIMError *error)
    {
        // 失败回调
    }];
    
    macOS/Windows
    C++V2NIMFriendSearchOption option;
    option.keyword = "keyword";
    friendService.searchFriendByOption(
       option,
       [](nstd::vector<V2NIMFriend> friends) {
       // search friend success, handle friends
       },
       [](V2NIMError error) {
       // search friend failed, handle error
       });
    
    Web/uni-app/小程序
    TypeScripttry {
        const friends = await nim.V2NIMFriendService.searchFriendByOption({
            keyword: 'nick',
            searchAlias: true,
            searchAccountId: false
        });
    } catch(err) {
        console.error('searchFriendByOption Error:', err);
    }
    
    Node.js/Electron
    TypeScripttry {
        const friends = await v2.friendService.searchFriendByOption({
            keyword: 'nick',
            searchAlias: true,
            searchAccountId: false
        });
    } catch(err) {
        console.error('searchFriendByOption Error:', err);
    }
    
    HarmonyOS
    TypeScripttry {
        const friends = await nim.friendService.searchFriendByOption({
            keyword: 'nick',
            searchAlias: true,
            searchAccountId: false    
        })
    } catch(err) {
        console.error('searchFriendByOption Error:', err)
    }
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<V2NIMFriend[]>

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMFriend 列表。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMGetFirendListSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    clearAllAddApplication

    接口描述

    清空所有好友申请。

    调用该方法,历史所有的好友申请数据均被清空。

    参数说明

    Android
    Javavoid clearAllAddApplication(V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 清空成功回调。
    failure V2NIMFailureCallback 清空失败回调,返回 错误码
    iOS
    Objective-C- (void)clearAllAddApplication:(nullable V2NIMSuccessCallback)success
                           failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 清空成功回调。
    failure V2NIMFailureCallback 清空失败回调,返回 错误码
    macOS/Windows
    C++virtual void clearAllAddApplication(const V2NIMSuccessCallback<void>& success, const V2NIMFailureCallback& failure) = 0;
    
    参数名称 类型 是否必填 说明
    success V2NIMSuccessCallback 清空成功回调。
    failure V2NIMFailureCallback 清空失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptclearAllAddApplication(): Promise<void>
    

    无参数。

    Node.js/Electron
    TypeScriptclearAllAddApplication(): Promise<void>
    

    无参数。

    HarmonyOS
    TypeScriptclearAllAddApplication(): Promise<void>
    

    无参数。

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).clearAllAddApplication(new V2NIMSuccessCallback<Void>() {
      @Override
      public void onSuccess(Void unused) {
       //success
      }
    }, new V2NIMFailureCallback() {
      @Override
      public void onFailure(V2NIMError error) {
       //failed
      }
    });
    
    iOS
    Objective-C[[NIMSDK sharedSDK].v2FriendService clearAllAddApplication:^() {
        //success
    } failure:^(V2NIMError *error) {
        //failed
    }];
    
    macOS/Windows
    C++friendService.clearAllAddApplication(
    []() {
        // clear all add application success
    },
    [](V2NIMError error) {
        // clear all add application failed, handle error
    });
    
    Web/uni-app/小程序
    TypeScriptawait nim.V2NIMFriendService.clearAllAddApplication()
    
    Node.js/Electron
    TypeScriptawait v2.friendService.clearAllAddApplication()
    
    HarmonyOS
    TypeScriptawait nim.friendService.clearAllAddApplication()
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    deleteAddApplication

    接口描述

    删除指定的好友申请。

    参数说明

    Android
    Javavoid deleteAddApplication(V2NIMFriendAddApplication application, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    success V2NIMSuccessCallback 删除成功回调。
    failure V2NIMFailureCallback 删除失败回调,返回 错误码
    iOS
    Objective-C- (void)deleteAddApplication:(V2NIMFriendAddApplication *)application
                                  success:(nullable V2NIMSuccessCallback)success
                                  failure:(nullable V2NIMFailureCallback)failure;
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    success V2NIMSuccessCallback 删除成功回调。
    failure V2NIMFailureCallback 删除失败回调,返回 错误码
    macOS/Windows
    C++virtual void deleteAddApplication(const V2NIMFriendAddApplication& application,
                                      const V2NIMSuccessCallback<void>& success,
                                      const V2NIMFailureCallback& failure) = 0;
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    success V2NIMSuccessCallback 删除成功回调。
    failure V2NIMFailureCallback 删除失败回调,返回 错误码
    Web/uni-app/小程序
    TypeScriptdeleteAddApplication(applicationInfo: V2NIMFriendAddApplication): Promise<void>
    
    参数名称 类型 是否必填 说明
    applicationInfo V2NIMFriendAddApplication 申请添加好友的相关信息。
    Node.js/Electron
    TypeScriptdeleteAddApplication(application): Promise<void>
    
    参数名称 类型 是否必填 说明
    application V2NIMFriendAddApplication 申请添加好友的相关信息。
    HarmonyOS
    TypeScriptdeleteAddApplication(applicationInfo: V2NIMFriendAddApplication): Promise<void>
    
    参数名称 类型 是否必填 说明
    applicationInfo V2NIMFriendAddApplication 申请添加好友的相关信息。

    示例代码

    Android
    JavaNIMClient.getService(V2NIMFriendService.class).deleteAddApplication(application,new V2NIMSuccessCallback<Void>() {
      @Override
      public void onSuccess(Void unused) {
       //success
      }
    }, new V2NIMFailureCallback() {
      @Override
      public void onFailure(V2NIMError error) {
       //failed
      }
    });
    
    iOS
    Objective-C[NIMSDK sharedSDK].v2FriendService deleteAddApplication:application success:^() {
        //success
    } failure:^(V2NIMError *error) {
        //failed
    }];
    
    macOS/Windows
    C++V2NIMFriendAddApplication application;
    // get application from listener or query
    // ...
    friendService.deleteAddApplication(
        application,
        []() {
            // delete add application success
        },
        [](V2NIMError error) {
            // delete add application failed, handle error
        });
    
    Web/uni-app/小程序
    TypeScriptawait nim.V2NIMFriendService.deleteAddApplication(applicationInfo)
    
    Node.js/Electron
    TypeScriptawait v2.friendService.deleteAddApplication(application)
    
    HarmonyOS
    TypeScriptconst params = {
      applicantAccountId: 'a',
      recipientAccountId: 'b',
      operatorAccountId: 'c',
      postscript: 'd',
      status: V2NIMFriendAddApplicationStatus.V2NIM_FRIEND_ADD_APPLICATION_STATUS_INIT,
      timestamp: 1234567,
      read: true
    } as V2NIMFriendAddApplication
    
    await nimfriendService.deleteAddApplication(params)
    

    返回参数

    Android/iOS/macOS/Windows

    无返回值。

    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    Promise<void>

    相关回调

    Android/iOS/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/Node.js/Electron/HarmonyOS

    无。

    此文档是否对你有帮助?
    有帮助
    去反馈
    • 支持平台
    • API 概览
    • 好友关系监听
    • 好友关系操作
    • 接口类
    • addFriendListener
    • removeFriendListener
    • on("EventName")
    • off("EventName")
    • addFriend
    • deleteFriend
    • acceptAddApplication
    • rejectAddApplication
    • setFriendInfo
    • getFriendList
    • getFriendByIds
    • checkFriend
    • getAddApplicationList
    • getAddApplicationUnreadCount
    • setAddApplicationRead
    • setAddApplicationReadEx
    • searchFriendByOption
    • clearAllAddApplication
    • deleteAddApplication