好友关系

更新时间: 2024/06/12 16:30:17

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

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

支持平台

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

API 概览

好友关系监听

Android/iOS/macOS/Windows
API 描述 起始版本
addFriendListener 注册好友关系相关监听器 v10.2.0
removeFriendListener 移除好友关系相关监听器 v10.2.0
Web/uni-app/小程序/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
  • Windows/macOS/Web: v10.2.2
  • HarmonyOS:v0.5.0
  • setAddApplicationRead 设置好友申请已读
  • Android/iOS: v10.2.1
  • Windows/macOS/Web: v10.2.2
  • HarmonyOS:v0.5.0
  • searchFriendByOption 根据关键字信息搜索好友信息
  • Android/iOS/Windows/macOS/Web: v10.2.2
  • HarmonyOS 暂不支持
  • 接口类

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

    addFriendListener

    接口描述

    注册好友信息监听器。

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

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

    • 全局只需注册一次。

    • 该方法为同步。

    参数说明

    Android
    javavoid addFriendListener(V2NIMFriendListener listener);
    
    参数名称 类型 是否必填 默认值 描述
    listener V2NIMFriendListener - 好友信息相关监听器
    iOS
    objective-c- (void)addFriendListener:(id<V2NIMFriendListener>)listener;
    
    参数名称 类型 是否必填 默认值 描述
    listener V2NIMFriendListener - 好友信息相关监听器
    macOS/Windows
    cppvirtual 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(V2NIMFriendAddRejection 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:(V2NIMFriendAddRejection *)rejectionInfo{}};
    - (void)onFriendInfoChanged:(V2NIMFriend *)friendInfo{}};
    
    macOS/Windows
    cppV2NIMFriendListener 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 = [](V2NIMFriendAddRejection 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
    cppvirtual void removeFriendListener(V2NIMFriendListener listener) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    listener V2NIMFriendListener - 好友信息相关监听器

    示例代码

    Android
    javaNIMClient.getService(V2NIMFriendService.class).removeFriendListener(listener);
    
    iOS
    objective-c[[[NIMSDK sharedSDK] v2FriendService] removeFriendListener:self];
    
    macOS/Windows
    cppV2NIMFriendListener 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 - 监听事件的回调函数。当事件触发时,会调用该函数进行处理。
    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: V2NIMFriendAddRejection) {})
    nim.V2NIMFriendService.on("onFriendInfoChanged", 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: V2NIMFriendAddRejection) {})
    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 - 监听事件的回调函数。当事件触发时,会调用该函数进行处理。
    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: V2NIMFriendAddRejection) {})
    nim.V2NIMFriendService.off("onFriendInfoChanged", 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: V2NIMFriendAddRejection) {})
    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
    cppvirtual 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 - 添加好友的配置参数。
    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
    cppV2NIMFriendAddParams 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('accid', {
        addMode: 2,
        postscript: '你好,我是xxx'
    });
    
    HarmonyOS
    typescriptnim.friendService.addFriend('accid', {
        addMode: 2,
        postscript: '你好,我是xxx'
    })
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<void>

    相关回调

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

    :::

    Web/uni-app/小程序/HarmonyOS

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

    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
    cppvirtual 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 - 删除好友的配置参数。
    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
    cppV2NIMFriendDeleteParams params;
    params.deleteAlias = true;
    friendService.deleteFriend(
        "account",
        params,
        []() {
            // delete friend success
        },
        [](V2NIMError error) {
            // delete friend failed, handle error
        }
    );
    
    Web/uni-app/小程序
    typescriptnim.V2NIMFriendService.deleteFriend('accid', {
        deleteAlias: true
    });
    
    HarmonyOS
    typescriptnim.friendService.deleteFriend('accid', {
        deleteAlias: true
    })
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<void>

    相关回调

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

    :::

    Web/uni-app/小程序/HarmonyOS

    更新成功,返回 onFriendDeleted 回调。

    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
    cppvirtual 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 - 申请添加好友的相关信息。
    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
    cppV2NIMFriendAddApplication 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);
    
    HarmonyOS
    typescriptnim.friendService.acceptAddApplication(application)
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<void>

    相关回调

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

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

    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
    cppvirtual 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 - 拒绝好友申请的附言。
    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
    cppV2NIMFriendAddApplication 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');
    
    HarmonyOS
    typescriptnim.friendService.rejectAddApplication(application, 'ps')
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<void>

    相关回调

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

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

    setFriendInfo

    接口描述

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

    参数说明

    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
    cppvirtual 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 - 设置好友信息的配置参数。
    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
    cpp```cpp
    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('accid', {
        alias: 'alias',
        serverExtension: 'serverExtension'
    });
    
    HarmonyOS
    typescriptnim.friendService.setFriendInfo('accid', {
        alias: 'alias',
        serverExtension: 'serverExtension'
    })
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

    Promise<void>

    相关回调

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

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

    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
    cppvirtual void getFriendList(V2NIMSuccessCallback<nstd::vector<V2NIMFriend>> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    success V2NIMSuccessCallback - 查询成功回调,返回 V2NIMFriend 列表。
    failure V2NIMFailureCallback - 查询失败回调,返回错误码
    Web/uni-app/小程序
    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
    cppfriendService.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();
    
    HarmonyOS
    typescriptconst friends = nim.friendService.getFriendList()
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

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

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMFriend 列表。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMGetFirendListSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/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
    cppvirtual 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 列表。
    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
    cppfriendService.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(['accid1', 'accid2']);
    
    HarmonyOS
    typescriptconst friends = await nim.friendService.getFriendByIds(['accid1', 'accid2'])
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

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

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMFriend 列表。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMGetFirendListSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/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
    cppvirtual 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 列表。
    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
    cppfriendService.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(['accid1', 'accid2']);
    
    HarmonyOS
    typescriptconst res = await nim.friendService.checkFriend(['accid1', 'accid2'])
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

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

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含每个好友账号 ID 的状态值。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMCheckFriendSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/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
    cppvirtual 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 - 查询申请添加好友信息的相关配置参数。
    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
    cppV2NIMFriendAddApplicationQueryOption 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
    });
    
    HarmonyOS
    typescriptconst applicationList = await nim.friendService.getAddApplicationList({
        offset: 0,
        limit: 50
    })
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

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

    相关回调

    Android/macOS/Windows
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含 V2NIMFriendAddApplicationResult
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,,返回 V2NIMGetApplicationListSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/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 - 查询失败回调,返回错误码
    Windows/macOS
    cppvirtual void getAddApplicationUnreadCount(V2NIMSuccessCallback<uint32_t> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    success V2NIMSuccessCallback - 查询成功回调,返回未读好友申请数量。
    failure V2NIMFailureCallback - 查询失败回调,返回错误码
    Web/uni-app/小程序
    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) {
        // 取未读数,失败回调
    }]; 
    
    Windows/macOS
    cppfriendService.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)
    }
    
    HarmonyOS
    typescripttry {
        const count = await nim.friendService.getAddApplicationUnreadCount()
    } catch(err) {
        console.error('getAddApplicationUnreadCount Error:', err)
    }
    

    返回值

    Android/iOS/macOS/Windows

    无返回值

    Web/uni-app/小程序/HarmonyOS

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

    相关回调

    Android/Windows/macOS
    • 请求成功,返回 V2NIMSuccessCallback 回调,包含未读的好友申请数量。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,返回 V2NIMGetApplicationUnreadCountSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/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 - 查询失败回调,返回错误码
    Windows/macOS
    cppvirtual void setAddApplicationRead(V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
    
    参数名称 类型 是否必填 默认值 描述
    success V2NIMSuccessCallback - 设置成功回调。
    failure V2NIMFailureCallback - 查询失败回调,返回错误码
    Web/uni-app/小程序
    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) {
        // 失败回调
    }];
    
    Windows/macOS
    cppfriendService.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)
    }
    
    HarmonyOS
    typescripttry {
        await nim.friendService.setAddApplicationRead()
    } catch(err) {
        console.error('setAddApplicationRead Error:', err)
    }
    

    返回值

    无返回值

    相关回调

    Android/Windows/macOS
    • 请求成功,返回 V2NIMSuccessCallback 回调。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    iOS
    • 请求成功,返回 V2NIMSetApplicationReadSuccess 回调,可自定义设置。
    • 请求失败,返回 V2NIMFailureCallback 回调,包含好友信息相关错误码。
    Web/uni-app/小程序/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 - 搜索失败回调,返回错误码
    Windows/macOS
    cppvirtual 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[]>
    
    参数名称 类型 是否必填 默认值 描述
    friendSearchOption 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)
    {
        // 失败回调
    }];
    
    Windows/macOS
    cppV2NIMFriendSearchOption 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);
    }
    

    返回值

    Android/iOS/Windows/macOS

    无返回值

    Web/uni-app/小程序

    Promise<V2NIMFriend[]>

    相关回调

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

    此文档是否对你有帮助?
    有帮助
    去反馈
    • 支持平台
    • API 概览
    • 好友关系监听
    • 好友关系操作
    • 接口类
    • addFriendListener
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • removeFriendListener
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • on("EventName")
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • off("EventName")
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • addFriend
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • deleteFriend
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • acceptAddApplication
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • rejectAddApplication
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • setFriendInfo
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • getFriendList
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • getFriendByIds
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • checkFriend
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • getAddApplicationList
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • getAddApplicationUnreadCount
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • setAddApplicationRead
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调
    • searchFriendByOption
    • 接口描述
    • 参数说明
    • 示例代码
    • 返回值
    • 相关回调