好友关系

更新时间: 2024/04/17 15:00:37

NetEase IM SDK(以下简称 NIM SDK)提供好友关系的管理和维护。

技术原理

NIM SDK 支持添加/删除好友,设置好友信息,查询好友状态和信息等操作。

NIM SDK 添加好友的方式分为以下两种:

  • 直接添加好友,不需要对方同意。该模式下,调用接口成功后,本端和对端(被添加的好友)都会收到添加好友成功的回调。
  • 请求添加对方为好友,需要对方验证通过才能添加。该模式下,调用接口成功后,对端(被添加的好友)会收到好友申请的回调。
    • 对端可以接受好友申请,接受成功后,本端和对端都会收到添加好友成功的回调。
    • 对端也可以拒绝好友申请,拒绝成功后,发起好友申请的用户会收到拒绝好友申请的回调。

前提条件

已实现登录 IM

监听好友相关事件

在进行好友相关操作前,您可以提前注册相关事件。注册成功后,当好友相关事件发生时,SDK 会触发对应回调通知。

好友相关回调:

  • onFriendAdded:添加好友成功回调,返回添加成功的好友信息列表。当客户端本端直接添加好友,或者其他端同步添加好友时触发该回调。
  • onFriendDeleted:删除好友回调,返回删除的好友信息。当客户端本端直接删除好友,或者其他端同步删除的好友,或者对方好友删除自己时触发该回调。
  • onFriendAddApplication:申请添加好友回调,返回申请添加为好友的信息。
  • onFriendAddRejected:被对方拒绝好友添加申请的回调,被拒绝的好友申请信息。
  • onFriendInfoChanged:好友信息更新回调,返回变更的好友信息。当客户端本端直接更新的好友信息,或者其他端同步更新好友信息时触发该回调。

Android/iOS/macOS/Windows

调用 addFriendListener 方法注册好友相关监听器,监听添加好友、删除好友、好友信息更新、接受或拒绝好友申请等事件。

示例代码:

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
javaNIMClient.getService(V2NIMFriendService.class).removeFriendListener(listener);
iOS
objective-c[[[NIMSDK sharedSDK] v2FriendService] removeFriendListener:self];
macOS/Windows
cppV2NIMFriendListener listener;
// ...
friendService.addFriendListener(listener);
// ...
friendService.removeFriendListener(listener);

Web/uni-app/小程序/Harmony

调用 on("EventName") 方法注册好友相关监听器,监听添加好友、删除好友、好友信息更新、接受或拒绝好友申请等事件。

示例代码:

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) {})

如需移除好友相关监听器,可调用 off("EventName") 方法。

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) {})
Harmony
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") 方法。

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 方法添加好友。

NIM SDK 添加好友分为以下两种模式(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 - 添加好友的配置参数。
    Harmony
    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'
    });
    
    Harmony
    typescriptnim.friendService.addFriend('accid', {
        addMode: 2,
        postscript: '你好,我是xxx'
    })
    

接受好友申请

如果添加好友时,选择了 V2NIMFriendAddMode.V2NIM_FRIEND_MODE_TYPE_APPLY,即需要对方(被添加的好友)验证通过才能成功添加为好友。

收到添加好友申请的用户可以调用 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 - 申请添加好友的相关信息。
    Harmony
    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);
    
    Harmony
    typescriptnim.friendService.acceptAddApplication(application)
    

拒绝好友申请

如果添加好友时,选择了 V2NIMFriendAddMode.V2NIM_FRIEND_MODE_TYPE_APPLY,即需要对方(被添加的好友)验证通过才能成功添加为好友。

收到添加好友申请的用户可以调用 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 - 拒绝好友申请的附言。
    Harmony
    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');
    
    Harmony
    typescriptnim.friendService.rejectAddApplication(application, 'ps')
    

删除好友

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

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

  • 参数说明:

    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 - 删除好友的配置参数。
    Harmony
    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
    });
    
    Harmony
    typescriptnim.friendService.deleteFriend('accid', {
        deleteAlias: true
    })
    

设置好友信息

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

查询好友列表

调用 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[]>
    
    Harmony
    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();
    
    Harmony
    typescriptconst friends = nim.friendService.getFriendList()
    

查询指定好友信息

调用 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 列表。
    Harmony
    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']);
    
    Harmony
    typescriptconst friends = await nim.friendService.getFriendByIds(['accid1', 'accid2'])
    

根据关键字搜索好友信息

调用 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);
    }
    

查询好友状态

调用 checkFriend 方法根据账号 ID 查询好友的状态。

调用接口成功后,会返回一个 key 为 accountId,value 为好友状态的 Map。

  • 参数说明:

    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 列表。
    Harmony
    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']);
    
    Harmony
    typescriptconst res = await nim.friendService.checkFriend(['accid1', 'accid2'])
    

查询好友申请信息

调用 getAddApplicationList 方法查询好友申请信息列表。

NIM 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 - 查询申请添加好友信息的相关配置参数。
    Harmony
    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
    });
    
    Harmony
    typescriptconst applicationList = await nim.friendService.getAddApplicationList({
        offset: 0,
        limit: 50
    })
    

查询未读的好友申请数量

调用 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>
    

    无参数

    Harmony
    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)
    }
    
    Harmony
    typescripttry {
        const count = await nim.friendService.getAddApplicationUnreadCount()
    } catch(err) {
        console.error('getAddApplicationUnreadCount Error:', err)
    }
    

设置好友申请已读

调用 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>
    

    无参数

    Harmony
    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)
    }
    
    Harmony
    typescripttry {
        await nim.friendService.setAddApplicationRead()
    } catch(err) {
        console.error('setAddApplicationRead Error:', err)
    }
    

相关信息

此文档是否对你有帮助?
有帮助
去反馈
  • 技术原理
  • 前提条件
  • 监听好友相关事件
  • 添加好友
  • 接受好友申请
  • 拒绝好友申请
  • 删除好友
  • 设置好友信息
  • 查询好友列表
  • 查询指定好友信息
  • 根据关键字搜索好友信息
  • 查询好友状态
  • 查询好友申请信息
  • 查询未读的好友申请数量
  • 设置好友申请已读
  • 相关信息