融云音视频通话时,会调用一个代理,代理会给一个用户的id,然后需要返回一个用户对象。只有遵循了这个代理,然后创建一个融云的用户对象返回出去,在视频通话的时候才会显示。
一般建议把融云的相关功能封装到一起,然后这个代理放到这个类里面,统一管理会比较方便。
//初始化融云插件
[[RCIM sharedRCIM] initWithAppKey:kRongYunAppKey];
//设置代理
[RCIM sharedRCIM].userInfoDataSource = self;
实现代理
#pragma RCIMUserInfoDataSource
- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *))completion {
//根据id获取用户信息
ECAccountInfoEntity *userInfo = [[ECDatabaseService sharedInstance] getUserInfoWithId:userId];
//创建融云用户对象,赋值,返回出去。
RCUserInfo* info = [RCUserInfo new];
info.portraitUri = useInfo.userAvatar;
info.userId = useInfo.userId;
info.name = useInfo.name;
completion(info);
}
网友评论