2-快速集成

1 阅读准备

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

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

2 环境要求

名称
要求

minSdkVersion

>=21 (Android 5.0)

targetSdkVersion

27 (Android 8.1)

abiFilters

arm64-v8a、armeabi-v7a、x86

jdk version

>=1.8.0

集成工具

Android Studio

注1:开发者如需兼容minSdkVersion >= 16 (Android 4.1设备),请按OkHttp4.x版本降级到3.x兼容方案处理。

注2:如果要兼容targetSdkVersion至28,需要在AndroidManifest.xml文件中添加android:usesCleartextTraffic="true"。

注3:so库的配置只能使用[arm64-v8a、armeabi-v7a、x86]的一种或几种,否则可能在部分机型上出现崩溃或者音画不同步、跳秒播放等情况。

注4:如需targetSdkVersion设置为29或以上,且需要访问手机外部存储公共目录下的文件,需要在AndroidManifest声明requestLegacyExternalStorage

注5:如需targetSdkVersion设置为30或以上,且需要访问手机外部存储公共目录下的文件,需要在AndroidManifest声明管理外部存储权限android.permission.MANAGE_EXTERNAL_STORAGE

并且需要在运行时动态判断是否已经给予了该权限

注6:1.7.2及以前版本,如需targetSdkVersion设置为30或以上,需要关闭指针标记功能(Android官方关于指针标记的说明),参考以下代码修改AndroidManifest.xml以关闭指针标记。

3 目录结构

模块名
作用

demo

演示如何初始化sdk、以及登录直播/回放及进入不同场景

polyvLiveCloudClassScene

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

polyvLiveEcommerceScene

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

polyvLiveStreamerScene

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

polyvStreamerAloneScene

纯视频开播场景模块,包含推流、连麦、聊天等功能的演示

polyvLiveCommonModul

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

4 场景模块集成

4.1 导入通用模块(必须)

拷贝polyv demo项目中的polyvLiveCommonModul模块至您项目的根目录下,接着打开您项目的settings.gradle文件,添加如下代码:

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

拷贝polyv demo项目中的polyvLiveCloudClassScene模块至您项目的根目录下,接着打开您项目的settings.gradle文件,添加如下代码:

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

拷贝polyv demo项目中的polyvLiveEcommerceScene模块至您项目的根目录下,接着打开您项目的settings.gradle文件,添加如下代码:

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

拷贝polyv demo项目中的polyvLiveStreamerScene模块至您项目的根目录下,接着打开您项目的settings.gradle文件,添加如下代码:

4.5 纯视频开播场景模块集成(可选)

拷贝polyv demo项目中的polyvStreamerAloneScene模块至您项目的根目录下,接着打开您项目的settings.gradle文件,添加如下代码:

5 工程配置

5.1 配置模块编译版本

打开您项目的build.gradle文件,添加如下代码:

5.2 配置maven地址

打开您项目的build.gralde文件,添加如下代码:

5.3 配置abiFilters

打开您项目的app/build.gradle文件,添加如下代码:

5.4 配置sdkVersion

打开您项目的app/build.gradle文件,把里面的minSdkVersion设置为21或以上,把targetSdkVersion设置为27或以下。

如果要兼容minSdkVersion为16,可以参考OkHttp4.x版本降级到3.x兼容方案处理。

如果要兼容targetSdkVersion至28,需要在AndroidManifest.xml文件中添加android:usesCleartextTraffic="true"

5.5 配置renderScript

RenderScript是在polyv demo项目中高斯模糊背景使用的,demo中为了兼容到api 16,使用到了support包中的RenderScript。如果您项目的minSdkVersion为16,并且需要使用高斯模糊功能,则需要在app/build.gradle文件中添加如下配置:

如果您项目的minSdkVersion大于16,或者不需要使用polyv项目demo中的高斯模糊功能,则需要做以下的操作:

5.6 配置方法数超过 64K 的应用

如果您项目的minSdkVersion设为21或更高的值,则默认情况下会启用MultiDex,并且您不需要MultiDex支持库。

否则可以参考配置方法数超过 64K 的应用里的方式添加MultiDex。

6 初始化sdk

打开您项目的Application类,在onCreate方法里添加如下代码:

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

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

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

登录验证的结果会通过监听器的方法回调,可以在登录成功的回调中,选择进入所需的场景页。下面示例如何登录直播及进入场景页,代码如下:

上述方法的具体用例可以在polyv demo项目中的PLVLoginActivity类找到。

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

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

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

上述方法的具体用例可以在polyv demo项目中的PLVLSLoginStreamerActivity类找到。

Last updated

Was this helpful?