Skip to content
v1
文档/iOS SDK/好友

关系链变更监听

BIMFriendListener 用于接收其他设备产生的黑名单变化,以及好友关系被删除的通知。所有方法均在主线程回调。

注册与移除

objc
[[BIMManager sharedInstance] addFriendListener:self];
[[BIMManager sharedInstance] removeFriendListener:self];
swift
BIMManager.sharedInstance().addFriendListener(listener: self)
BIMManager.sharedInstance().removeFriendListener(listener: self)

监听器由 SDK 弱引用,接入方应自行持有,并在不再使用时移除。

回调

objc
@protocol BIMFriendListener <NSObject>
@optional
- (void)onUserAddedToBlacklist:(BIMUserInfo *)user;
- (void)onUserRemovedFromBlacklist:(BIMUserInfo *)user;
- (void)onFriendRemoved:(BIMUserInfo *)user;
@end
swift
extension ViewController: BIMFriendListener {
    func onUserAddedToBlacklist(user: BIMUserInfo) {
        // 当前账号的其他设备将 user 加入黑名单。
    }

    func onUserRemovedFromBlacklist(user: BIMUserInfo) {
        // 当前账号的其他设备将 user 移出黑名单。
    }

    func onFriendRemoved(user: BIMUserInfo) {
        // user 与当前账号的好友关系已删除。
    }
}

调用当前设备的加入/移出 REST 接口时,应以对应 succ 回调刷新本机 UI。SDK 不会再合成一条监听回调,避免同一操作被处理两次;其他设备的变化由服务端 Notify 驱动监听器。