接入流程

一、获取AppKey、AppSecretKey

1、联系客户经理开通权限立即沟通权限申请,或4006826882电话立即沟通申请

2、获取API/SDK的使用权限信息,得到Acess key点击查看

二、SDK包下载

  1. 通过pod方式集成 pod 'VHClassSDK'

  2. 手动集成 下载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来实现目的。