黑名单管理
说明
黑名单和好友操作互不影响。
以用户A和B互为好友为例:
- 用户A可以将用户B列入黑名单,但两人仍是好友。
- 如果此时用户A和用户B解除好友关系,用户B仍会在用户A的黑名单中。
- 之后,如果用户A将用户B从黑名单中移除,用户B仍不会是用户A的好友。
功能简介
用户可以查询自己的黑名单、将指定用户拉黑(不再接收该用户消息)、移出黑名单、以及检查指定用户是否在黑名单内。
实现流程
查询黑名单列表
登录 ZIM SDK 后,用户可以通过 queryBlacklist 接口查询黑名单列表。
查询结果通过 ZIMBlacklistQueriedCallback 返回。
示例代码
// 查询黑名单列表
ZIMBlacklistQueryConfig config = new ZIMBlacklistQueryConfig();
// 填写一次获取的黑名单用户信息数量
config.count = 100;
// 填写分页拉取标志
config.nextFlag = 0;
zim.queryBlacklist(config, new ZIMBlacklistQueriedCallback() {
@Override
public void onBlacklistQueried(ArrayList<ZIMUserInfo> blacklist, int nextFlag,
ZIMError zimError) {
if(errorInfo.code == ZIMErrorCode.SUCCESS) {
// 开发者可以从 blacklist 获取到黑名单列表。
}
}
});
1
拉黑用户
登录 ZIM SDK 后,用户可以调用 addUsersToBlacklist 接口,可以将指定用户添加到黑名单。
拉黑用户结果通过 ZIMBlacklistUsersAddedCallback 返回。
注意
- 调用一次接口,最多拉黑 20 名用户。超过数量上限会导致接口调用失败。
- 黑名单数量上限默认为 1000,如需上调,请联系 ZEGO 技术支持。
示例代码
// 添加用户 “zego” 到黑名单
ArrayList<String> userIDs = new ArrayList();
userIDs.add("zego");
zim.addUsersToBlacklist(userIDs, new ZIMBlacklistUsersAddedCallback() {
@Override
public void onBlacklistUsersAdded(ArrayList<ZIMErrorUserInfo> errorUserList, ZIMError error) {
if(errorInfo.code == ZIMErrorCode.SUCCESS) {
// errorUserList 返回添加失败的用户信息。
}
}
});
1
将用户移出黑名单
登录 ZIM SDK 后,用户可调用 removeUsersFromBlacklist 接口将指定用户移出黑名单。
移出操作将通过 ZIMBlacklistUsersRemovedCallback 返回。
注意
调用一次接口,最多移出 20 名用户。超过数量上限会导致接口调用失败。
示例代码
// 将用户 “zego” 移除出黑名单
ArrayList<String> userIDs = new ArrayList();
userIDs.add("zego");
zim.removeUsersFromBlacklist(userIDs, new ZIMBlacklistUsersRemovedCallback() {
@Override
public void onBlacklistUsersRemoved(ArrayList<ZIMErrorUserInfo> errorUserList, ZIMError error) {
if(errorInfo.code == ZIMErrorCode.SUCCESS) {
// errorUserList 返回移除失败的用户信息。
}
}
});
1
检查用户是否在黑名单内
登录 ZIM SDK 后,用户可以调用 checkUserIsInBlacklist 接口,检查指定用户是否在自己的黑名单。
检查操作结果通过 ZIMBlacklistCheckedCallback 返回。
示例代码
// 检查 “zego” 用户是否在黑名单内
zim.checkUserIsInBlackList("zego", new ZIMBlacklistCheckedCallback(){
@Override
public void onBlacklistChecked(boolean isUserInBlacklist, ZIMError zimError) {
if(errorInfo.code == ZIMErrorCode.SUCCESS) {
// isUserInBlacklist 说明该用户是否在黑名单内,true 表示在黑名单内,false 表示不在黑名单内
}
}
})
1