以下是第三方依赖库,若需使用Demo源码且您项目中未引入,需添加

1 阅读准备

提前下载保利威多场景Demo,请先下载Demo。

准备好一个保利威账号,Demo中登录直播需要账号直播系统中的appId(应用ID),appSecret(应用密匙),userId(账号ID),channelId(频道号),登录回放再额外需要频道号对应回放列表里的videoId(回放视频id)。

2 环境要求

名称
要求

iOS 系统

iOS 12.0+

CocoaPods

1.7.0+

集成工具

Xcode 11.0+

3 目录结构

文件夹
内容

Demo

演示如何初始化 SDK、如何登录进入不同场景

PolyvLiveCloudClassScene

云课堂场景模块,包含播放、聊天、连麦、互动等功能的演示

PolyvLiveEcommerceScene

直播带货场景模块,包含播放、聊天、商品、打赏等功能的演示

PolyvLiveStreamerScene

手机开播场景模块,包含推流、连麦、聊天、文档等功能的演示

PolyvLiveCommonModule

通用模块,提供给各个场景实现所需依赖的基础库、工具类等

4 场景模块集成

多场景 Demo 采用的是多个场景层(PolyvLiveCloudClassScenePolyvLiveEcommerceScenePolyvLiveStreamerScene文件夹)加通用逻辑层(PolyvLiveCommonModule 文件夹)的方式集成。如下图:

图 1

通用逻辑层,也叫 Common 层,本质是对保利威多场景 SDK 的封装的开源代码。旨在为客户提供更友好统一的API、实现更完整的业务功能。代码均跟多场景 SDK 一样,使用 PLV 前缀。关于 Common 层更多的介绍,详见文档 5-1至 5-7。

场景层,也叫 Scene 层,客户可以根据需要,集成具体的场景。Scene 层的代码,根据场景不同,会有不同的前缀进行区分。譬如,云课堂场景的代码前缀为 PLVLC,直播带货场景的代码前缀为 PLVEC,手机开播场景的代码前缀为 PLVLS

4.1 导入通用模块(必须)

拷贝项目中的 PolyvLiveCommonModule 文件夹到你项目的根目录下。

4.2 云课堂场景模块集成(可选)

拷贝项目中的 PolyvLiveCloudClassScene 文件夹到你项目的根目录下。

4.3 直播带货场景模块集成(可选)

拷贝项目中的 PolyvLiveEcommerceScene 文件夹到你项目的根目录下。

4.4 手机开播场景模块集成(可选)

拷贝项目中的 PolyvLiveStreamerScene 文件夹到你项目的根目录下。

4.5 互动学堂场景模块集成(可选)

拷贝项目中的 PolyvLiveHiClassScene 文件夹到你项目的根目录下。

5 工程配置

5.1 配置支持系统版本

打开项目的 TARGETS - General - Deployment Info,把 iOS 系统改为 9.0 或更高。

5.2 配置 App Transport Security (ATS)

打开项目的 info.plist 文件,添加如下内容:

5.3 配置 Bitcode

打开项目的 TARGETS - Build Settings,搜索 Enable Bitcode,并设置为 NO。

5.4 配置隐私权限

连麦及聊天室的使用,需要获取用户设备的麦克风、摄像头、相册的访问、使用权限。

打开项目的 info.plist 文件,添加如下内容:

5.5 配置设备旋转

播放器支持全屏播放,需要在 TARGETS - General - Deployment Info 中,勾选支持的横屏旋转方向。

5.6 配置 Podfile

在 Podfile 文件中,添加以下内容:

注意:

  • 我们强烈建议您带上版本号,避免自动升级

  • 我们建议使用最新版本SDK

  • 不能遗漏 use_frameworks!

6 初始化 SDK

打开项目的 AppDelegate 文件,在 -application:didFinishLaunchingWithOptions: 方法中进行 SDK 功能配置:

7 登录直播/回放及进入不同场景

7.1 观看端(云课堂场景/直播带货场景)

进入不同场景的观看页前,需要先调用登录直播/回放的方法进行校验。登录校验的目的是检验参数是否正确,以及 SDK 内部会保存从登录接口获取到的一些信息。项目的通用模块提供了 PLVRoomLoginClient 进行直播/回放的登录和退登,接口定义如下:

登录过程中,观看者的相关信息可以通过回调 roomUserHandler 进行配置,登录的结果(成功跟失败)会通过 block 回调,可以在登录成功的回调中,选择进入所需的场景页。下面的例子展示了如何登录并进入云课堂场景的直播间页面,代码如下:

上述方法的具体用例可以在项目 Demo 文件夹中的 PLVLoginViewController 类中找到。

7.2 开播端(手机开播场景)

在进入手机开播页面前,需要先调用登录频道的方法进行校验。登录校验的目的是检验参数是否正确,以及保存从登录接口获取到的一些信息。项目的通用模块提供了 PLVRoomLoginClient 进行频道开播的登录,接口定义如下:

登录验证的结果会通过 completionfailure block 回调,可以在登录成功的回调中,进入手机开播场景。下面示例如何登录频道并进入手机开播场景,代码如下:

上述方法的具体用例可以在项目 Demo 文件夹中的 PLVLSLoginViewController 类中找到。

7.3 互动学堂场景

互动学堂通过token验证机制进行用户身份识别,在进入互动学堂前,需要调用相应登录方法以获取 token。

PLVLiveVClassAPI分别提供了讲师和学生角色的登录方法进行互动学堂的登录,接口定义如下:

上述方法的具体用例可以在PolyvLiveHiClassDemo项目中PLVHCTeacherLoginViewControllerPLVHCStudentLoginViewController类找到。

Last updated

Was this helpful?