关于多人音视频通话中,选择成员列表为空或者信息不对的排查方案

音视频通话用户选择列表为空; 音视频通话选人列表为空;
发布时间: 2022-01-05 11:25

回答:

建议将用户信息提供者代理设置给单例类,并且保证传参(群id、用户id)的准确性。

1、查看是否设置实现了群成员列表的代理函数,断点查看返回的列表信息是否正确:

/*! 
群组成员列表提供者 
*/
@protocol RCIMGroupMemberDataSource <NSObject>
@optional
/*! 
SDK 的回调,用于向 App 获取当前群组成员列表(需要实现用户信息提供者 RCIMUserInfoDataSource) 
@param groupId     群ID 
@param resultBlock 获取成功之后需要执行的Block [userIdList:群成员ID列表] 
@discussion SDK通过此方法群组中的成员列表,请在resultBlock中返回该群组ID对应的群成员ID列表。 
在您设置了群组成员列表提供者之后,SDK在需要获取群组成员列表的时候,会调用此方法,向您请求群组成员用于显示。 
*/
- (void)getAllMembersOfGroup:(NSString *)groupId result:(void (^)(NSArray<NSString *> *userIdList))resultBlock;

2、断点查看群成员信息的返回是否正确:

/*! 
群组成员列表提供者 
*/
@protocol RCIMGroupMemberDataSource <NSObject>
@optional
/*! SDK 的回调,用于向 App 获取用户在群组中的群名片信息 
@param userId          用户ID 
@param groupId         群组ID 
@param completion      获取群名片信息完成之后需要执行的Block [userInfo:该用户ID在群组中对应的群名片信息] @discussion 如果您使用了群名片功能,SDK需要通过您实现的群名片信息提供者,获取用户在群组中的名片信息并显示。 
*/
- (void)getUserInfoWithUserId:(NSString *)userId
                      inGroup:(NSString *)groupId                   
                   completion:(void (^)(RCUserInfo *userInfo))completion;

可参考相关文档: https://doc.rongcloud.cn/im/IOS/5.X/ui/userinfo/userinfo#%E7%BE%A4%E7%BB%84%E4%BF%A1%E6%81%AF