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?