logo
On this page

Blacklist management


Note

Blacklisting and friend operations do not affect each other. Taking user A and B as friends as an example:

  1. User A can blacklist user B, but they will still be friends.
  2. If at this point, user A and user B end their friendship, user B will still be on user A's blacklist.
  3. Afterwards, if user A removes user B from the blacklist, user B will still not be user A's friend.

Function Introduction

You can check your blacklist, blacklist a specified user (no longer receiving messages from that user), move out of the blacklist, and check if a specified user is in the blacklist.

Implementation Process

Query Blacklist

After logging in to the ZIM SDK, users can query the blacklist by using the queryBlacklist interface.

The query result is returned through the ZIMBlacklistQueriedCallback.

Sample code
// Query blacklist list
zim::ZIMBlacklistQueryConfig config;
// Fill in the number of blacklist user information obtained at one time
config.count = 100;
// Fill in the pagination pull flag
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) {
            // Developers can get the blacklist list from blacklist.
        }
    });
1
Copied!

Block Users

After logging in to the ZIM SDK, users can call the addUsersToBlacklist interface to add specified users to the blacklist.

The result of blocking users is returned through the ZIMBlacklistUsersAddedCallback.

Warning
  • Up to 20 users can be blocked with one API call. Exceeding the limit will cause the API call to fail.
  • The default maximum number of blacklisted users is 1000. If you need to increase it, please contact ZEGOCLOUD technical support.
Sample code
// Add user "zegocloud" to the blacklist
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) {
            // Developers can retrieve the blacklist from the "blacklist" variable.
        }
    });
1
Copied!

Unblock Users

After logging in to the ZIM SDK, users can call the removeUsersFromBlacklist interface to remove specified users from the blacklist.

The unblock operation will be returned through the ZIMBlacklistUsersRemovedCallback .

Warning

Up to 20 users can be removed with one API call. Exceeding the limit will cause the API call to fail.

Sample code
// Remove user "zegocloud" from the blacklist
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) {
            // Developers can retrieve the blacklist from the "blacklist" variable.
        }
    });
1
Copied!

Check if the user is in the blacklist

After logging in to the ZIM SDK, users can call the checkUserIsInBlacklist interface to check if a specified user is in their blacklist.

The result of the check operation is returned through the ZIMBlacklistCheckedCallback.

Sample code
zim_sdk_->checkUserIsInBlacklist(
    "zegocloud", [=](bool isUserInBlacklist, const zim::ZIMError &errorInfo) {
        if (errorInfo.code == zim::ZIMErrorCode::ZIM_ERROR_CODE_SUCCESS) {
            // The `isUserInBlacklist` parameter indicates whether the user is in the blocklist. Valid values: `true`: yes; `false`: no.
        }
    });
1
Copied!

Previous

Offline login

Next

Friend management