iOS直播SDK集成说明
前提说明
本项目支持版本: 支持最低系统版本为:ios11以上系统 支持最低机型设备为:iPhone6s以上设备 暂不支持ipad设备。
一、下载并引入SDK
下载到直播SDK的压缩包以后,解压开可以看到demo项目,把frameworks目录下的所有库拷贝到您的项目中
1、SDK中的framework说明
文件名 | 说明 | 必选 |
AudioEngineCore.framework AVTangModule.framework FlowCtrl.framework GNetTangSDK.xcframework GNetTangSDKIOSDesktop.framework NIMNOS.framework NIMSDK.framework qsnd.framework VideoEngineCore.framework TwirlingCapture.framework |
基础库 | 是 |
QSVideoKit.framework TangRTCKit.framework |
播放器 | 是 |
QSLiveSDK.framework | 直播SDK | 是 |
TangClientSDK.framework | 云会议会中SDK;直播间举手连麦功能,可根据需求选择集成 | 否 |
截图中,去除.dsYM文件不用,其他Framework的内容都需要引用
2、添加依赖
添加以下依赖,这些依赖是云直播SDK相关的库必须要依赖的库
二、直播SDK快速集成
1、初始化
调用直播SDK中的接口:
QSLiveSDK.getShareInstance;
绑定连麦/会议功能,无需此功能可剔除TangClientSDK.framework(优化包体积大小)
2、进入和退出直播间
(1)进入直播间
接口:/// 通过SDK实现的落地页接口直接加入直播间/// @param liveReq 参数 (pcode必填)/// @param delegate 参数/// @param completion 加入直播间的结果回调-(void)joinLiveWithLiveReq:(QSLiveReq *)liveReq delegate:(id<QSLiveSDKProtocol>)delegate completion:(void(^)(BOOL succeed, NSError * _Nullable error))completion
需要传递的参数定义在QSLiveReq类中
类名 | 参数 | 说明 |
QSLiveReq | 见下面的详细说明 | 进入直播间需要传递的参数 https://developer.quanshi.com/cn/api/77 参数来自云直播详情接口 如果直播开启了白名单验证,进入直播间时需要传入手机号或邮箱,只有在白名单配置中的手机号或邮箱才能成功进入直播间 |
delegate | 直播间状态、消息回调 | 可选择实现的代理方法: //通知直播间关已闭 -(void)onExitLiveRoom; //此时需要将直播间视图控制器从容器页面中移除(如:直播间开启小窗模式) -(void)onDismissLiveRoom; /// 进出直播间状态回调 - (void)onLiveStatusChanged:(QSLiveStatus)status; |
completion | 结果回调 | succeed:YES 进入成功, NO 进入失败 error:进入直播间失败的具体信息 |
QSLiveReq参数详细说明
参数 | 说明 | 必传 |
userName | 姓名。 在直播间中显示或在云会议会中显示的姓名; | 是。倘若audienceJoinUrl如果有user相关信息会覆盖 |
pcode | 直播码 | 否。与audienceJoinUrl 必二选一 |
meetingCode | 会议密码 | 否 |
conferenceId | 会议ID | 否 |
audienceJoinUrl | 观众链接 | 否。与pcode 必二选一 |
邮箱 | 否。倘若开启了直播白名单验证,则需要传入 | |
phone | 手机号 | 否。倘若开启了直播白名单验证,则需要传入 |
countryCode | 国家码。如果手机号有别的国家码,需要传入,不要带+加号,如:中国传86 | 否。与phone字段配合使用,如果不传phone字段,也不要传该字段 |
company | 机构名或公司名 | 否 |
avatar | 头像URL,在云会议会中展示 | 否 |
extUserId | 第三方用户系统的userId,主要用于统计 | 否 |
(2)显示直播间界面
在进入调用进入直播间成功后,此时需要将直播间视图控制器加入到容器页面中,否则无法展示出直播间界面
- (void)onShowLiveRoom:(UIViewController *)viewController;
(3)监听直播间进出状态
QSLiveSDK提供了监听进出直播间状态的接口,可以实现下面的接口来监听状态回调。
进入直播间状态QSLiveStatus:{
QSLiveStatusNone, //默认
QSLiveStatusJoining, //正在进入
QSLiveStatusJoinFail, //进入直播间失败
QSLiveStatusJoined, //已进入直播间
QSLiveStatusLeaving, //正在退出直播间
QSLiveStatusLeft, //已退出直播间
QSLiveStatusCancel, //已取消进入直播间
}
接口:- (void)onLiveStatusChanged:(QSLiveStatus)status;