浏览 SDKs · iOS
平台
SDKsiOS

拉黑用户

使用 iOS SDK 将用户加入当前账号黑名单。

复制

将指定用户加入当前登录账号的黑名单:

参数说明

参数类型说明
userIDNSString *待拉黑的目标用户 ID。
exNSString *业务扩展字符串,格式由业务约定;无需传扩展时可传空字符串。
[[OIMManager manager] addToBlackList:targetUserID
                                  ex:@"{\"source\":\"profile-menu\"}"
                           onSuccess:^(NSString *data) {
    [blacklistStore addUserID:targetUserID];
}
                           onFailure:^(NSInteger code, NSString *message) {
    NSLog(@"addToBlackList failed: %ld %@", (long)code, message);
}];

黑名单为单向关系,只影响当前登录用户向目标用户的交互(与群内禁言或平台级账号封禁不同)。状态以 userID 为合并标识。

返回结果

成功回调 onSuccess 表示服务端已接收并将目标加入黑名单。其他端或当前设备通过黑名单监听回调同步增量变化。需要恢复通信时可参阅取消拉黑用户。

监听黑名单新增

实现 OIMFriendshipListener 协议的 onBlackAdded: 方法处理黑名单新增事件:

@interface BlacklistStore () <OIMFriendshipListener>
@end

@implementation BlacklistStore

- (void)startListening {
    [[OIMManager callbacker] addFriendListener:self];
}

- (void)stopListening {
    [[OIMManager callbacker] removeFriendListener:self];
}

- (void)onBlackAdded:(OIMBlackInfo *)info {
    [self upsertBlackInfo:info];
}

@end

在退出登录或切换账号时,使用注册时的同一个 listener 实例调用移除监听方法。主动拉取黑名单列表见获取黑名单列表。