logo
当前页

黑名单管理


说明

黑名单和好友操作互不影响。

以用户​​A和B互为好友为例:

  1. 用户A可以将用户B列入黑名单,但两人仍是好友。
  2. 如果此时用户A和用户B解除好友关系,用户B仍会在用户A的黑名单中。
  3. 之后,如果用户A将用户B从黑名单中移除,用户B仍不会是用户A的好友。

功能简介

用户可以查询自己的黑名单、将指定用户拉黑(不再接收该用户消息)、移出黑名单、以及检查指定用户是否在黑名单内。

实现流程

查询黑名单列表

登录 ZIM SDK 后,用户可以通过 queryBlacklist 接口查询黑名单列表。

查询结果通过 ZIMBlacklistQueriedCallback 返回。

示例代码
// 查询黑名单列表
zim::ZIMBlacklistQueryConfig config;
// 填写一次获取的黑名单用户信息数量
config.count = 100;
// 填写分页拉取标志
config.nextFlag = 0;

zim_sdk_->queryBlacklist(
    config, [=](const std::vector<zim::ZIMUserInfo> &blacklist, unsigned int nextFlag,
                const zim::ZIMError &errorInfo) {
        if (errorInfo.code == zim::ZIMErrorCode::ZIM_ERROR_CODE_SUCCESS) {
            // 开发者可以从blacklist中获取黑名单列表。
        }
    });
1
Copied!

拉黑用户

登录 ZIM SDK 后,用户可以调用 addUsersToBlacklist 接口,可以将指定用户添加到黑名单。

拉黑用户结果通过 ZIMBlacklistUsersAddedCallback 返回。

注意
  • 调用一次接口,最多拉黑 20 名用户。超过数量上限会导致接口调用失败。
  • 黑名单数量上限默认为 1000,如需上调,请联系 ZEGO 技术支持。
示例代码
// 将用户 "zegocloud" 添加到黑名单
std::vector<std::string> user_id_list;
user_id_list.push_back("zegocloud");

zim_sdk_->addUsersToBlacklist(
    user_id_list,
    [=](const std::vector<zim::ZIMErrorUserInfo> &errorUserList, const zim::ZIMError &errorInfo) {
        if (errorInfo.code == zim::ZIMErrorCode::ZIM_ERROR_CODE_SUCCESS) {
            // 开发者可以从 "blacklist" 变量中获取黑名单列表。
        }
    });
1
Copied!

将用户移出黑名单

登录 ZIM SDK 后,用户可调用 removeUsersFromBlacklist 接口将指定用户移出黑名单。

移出操作将通过 ZIMBlacklistUsersRemovedCallback 返回。

注意

调用一次接口,最多移出 20 名用户。超过数量上限会导致接口调用失败。

示例代码
// 从黑名单中移除用户"zegocloud"
std::vector<std::string> user_id_list;
user_id_list.push_back("zegocloud");

zim_sdk_->removeUsersFromBlacklist(
    user_id_list,
    [=](const std::vector<zim::ZIMErrorUserInfo> &errorUserList, const zim::ZIMError &errorInfo) {
        if (errorInfo.code == zim::ZIMErrorCode::ZIM_ERROR_CODE_SUCCESS) {
            // 开发者可以从"blacklist"变量中获取黑名单。
        }
    });
1
Copied!

检查用户是否在黑名单内

登录 ZIM SDK 后,用户可以调用 checkUserIsInBlacklist 接口,检查指定用户是否在自己的黑名单。

检查操作结果通过 ZIMBlacklistCheckedCallback 返回。

示例代码
zim_sdk_->checkUserIsInBlacklist(
    "zegocloud", [=](bool isUserInBlacklist, const zim::ZIMError &errorInfo) {
        if (errorInfo.code == zim::ZIMErrorCode::ZIM_ERROR_CODE_SUCCESS) {
            // `isUserInBlacklist` 参数表示用户是否在黑名单中。有效值:`true`:是;`false`:否。
        }
    }
);
1
Copied!

Previous

离线登录

Next

好友管理