接入流程
一、获取AppKey、AppSecretKey
1、联系客户经理开通权限立即沟通权限申请,或4006826882电话立即沟通申请
2、获取API/SDK的使用权限信息,得到Acess key点击查看
二、SDK包下载
-
通过pod方式集成 pod 'VHClassSDK'
-
手动集成 下载SDK包
微吼平台提供SDK包和demo。其中VHClassSDK即微吼课堂SDK,VHCFoundation作为基础组件,使用其他库时需先引入VHCFoundation库;VHClassSDKDemo是SDK的demo。
打开VHCSDK_iOS.xcworkspace即可查看demo和相关Api。
将SDK包VHClassSDK文件夹添加到项目中
引入SDK包后,将工程中任意文件.m改为.mm。
在TARGETS - General - Embedded Binaries下添加VhallLiveBaseApi、VhallSignalDynamic、WebRTC。
在TARGETS - Build Setting - Enable Bitcode 将值改为NO
添加系统依赖库libicucore.tbd
注意使用互动功能时,需要添加摄像头和麦克风的权限配置
四、注册SDK
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//注册SDK
[VHClassSDK initWithAppKey:@"appKey" appSecretKey:@"secretKey"]
return YES;
}
五、使用SDK
使用与课堂SDK的操作时,请先进入课堂:
VHClassSDK
1、注册SDK:
略...
2、获取课堂基本信息:
/**
@brief 获取课堂基本信息,异步函数
@param roomId 课堂id
@param sucess 成功,返回课堂基本信息 @see VHClassSDKBaseInfo
@param failed 获取出错,返回错误信息
*/
- (void)classBaseInfoWithRoomId:(nonnull NSString *)roomId
sucessed:(void(^)(VHClassBaseInfo *result))sucess
failed:(void(^)(VHCError *error))failed;
获取的基本信息通过block回调,在result中查看课堂基础属性,包括布局、课堂状态等。
3、进入课堂:
/**
@brief 进入课堂房间,异步函数
@param roomId 要进入的房间id
@param keyValue 要进入的房间口令,即进入房间的密码
@param nickName 用户昵称
@param sucess 进入成功,返回“参会id”,参会id即用户再此课堂中的用户id
@param failed 进入失败,返回失败原因
*/
- (void)joinClassWithNickName:(nonnull NSString *)nickName
roomId:(nonnull NSString *)roomId
key:(nonnull NSString *)keyValue
sucessed:(void(^)(NSString *joinId,VHClassBaseInfo *result))sucess
failed:(void(^)(VHCError *error))failed;
使用SDK其他模块功能前,需要先进入课堂。直播、互动等功能都是在课堂内完成的,所以进入课堂才会有其他模块功能的使用权限。
成功进入课堂后用户就会在微吼课堂的讲师端列表中显示出来。
进入课堂后根据当前课堂的状态选择进入不同的功能模块,如果当前是直播状态,则可以进行看直播、互动。
4、离开课堂
/**
@brief 退出课堂
@discussion 退出课堂将关闭与课堂相关的系统消息
@warning 离开课堂时请务必调用此方法
*/
- (void)leaveRoom;
离开课堂将停止与课堂之间的通信等。
VHCError
微吼课堂SDK错误类,内有错误描述和错误码
/**
@brief 错误类型
*/
@property (nonatomic, readonly) VHCErrorType errorCode;
/**
@brief 错误类型描述
*/
@property (nonatomic, copy) NSString *errorDescription;
VHClassBaseInfo
课堂基本信息模型
@property (nonatomic, copy) NSString *roomId;
@property (nonatomic, copy) NSString *roomName;
@property (nonatomic, copy) NSString *introduction;
@property (nonatomic, assign) VHClassState state;
@property (nonatomic, assign) VHClassType type;
@property (nonatomic, assign) VHClassLayout layout;
VHCRecord
此类的父类是VHClassBaseInfo,提供了进入录播课堂的Api:
@interface VHCRecord : VHClassBaseInfo
@property (nonatomic) VHCRecordType recordType;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *recordId;//音视频id
/**
进入录播课堂 异步函数
*/
+ (void)enterRecoredClassSucess:(void(^)(VHCRecord *record))sucess
failed:(void(^)(VHCError *error))failed;
@end
成功进入录播课堂才能进行正长的录播课程观看,否则需要刷新重新进入。
VHCLiveUser
此类是微吼课堂用户类,其中包括了用户id,角色等字段,并提供了一个通过用户的joinId获取用户基础信息的Api。
/**
@brief 获取joinId对应的用户的基础信息,异步函数
@param joinId 用户参会id
@param sucess 登录成功,返回用户信息
@param failed 登录失败,返回失败原因
*/
+ (void)getLiveUserInfoWithJoinId:(NSString *)joinId
sucessed:(void(^)(VHCLiveUser *user))sucess
failed:(void(^)(VHCError *error))failed;
此类的作用将就是在项目中如果需要获取用户信息,可通过此类的Api来实现目的。