logologo
售前咨询
点播云
产品简介
购买指南
快速入门
控制台指南
服务端API
SDK文档
播放器SDK
Web端播放器
Android端播放器
iOS端播放器
上传SDK
服务端SDK
相关协议
文档中心SDK文档播放器SDKAndroid端播放器集成准备

集成准备


集成准备

1 环境要求

CPU架构支持:armeabi-v7a、arm64-v8a

支持Android最低版本:21

ndk版本:r23

2 安全鉴权

2.2.1 获取appid、appkey、鉴权图片(video_yh_loading_icon.png)

为防止SDK在未授权的情况下被使用,其内部进行了安全鉴权。只有在鉴权通过后,SDK的相关功能方可正常使用。

鉴权文件的获取方法:

  1. 接入方提供App包名、签名MD5至我方服务工程师 (如果有多个包名那么都需要提供, debug和release下keystore的签名MD5也都需要提供 )
  2. 我方会根据提供的信息生成一个鉴权文件(video_yh_loading_icon.png)交付给接入方。
  3. 我方还会提供appid、appkey两个值,用来初始化播放器sdk。

接入方需要将鉴权文件放到项目assets文件夹内,初始化播放SDK,SDK内部即可完成鉴权并回调鉴权结果。以下情形会导致鉴权失败:

  • 鉴权文件不存在,存放路径错误
  • 鉴权文件不包含当前工程的包名和签名
  • 当前buildType下签名包名未添加,如 debug没有配置固定签名并添加鉴权
  • 如对以上流程有任何疑问,请联系服务工程师范玲超。

2.2.2 签名MD5获取方式

keytool -v -list -keystore your.keystore

通过上面命令查看相应签名MD5

2.2.3 debug下环境鉴权配置方式

为保证多个开发者在个人debug环境下通过鉴权,建议在项目中配置debug环境下的签名文件(签名MD5需提供给我方服务工程师添加鉴权)并提交至远程仓库。使得多个开发者在debug环境下使用固定的签名文件,避免产生鉴权失败问题。

配置方式:

1.在Android studio 的Build菜单下Generate Signed APK生成签名keystore文件

2.将keystore文件放置在项目app文件夹内并提交到仓库

3.配置app/build.gradle文件如下

signingConfigs {

  debugConfig {

      storeFile file(project.projectDir.toString() + '/debug.keystore')

      storePassword 'your password'

      keyAlias 'your Alias'

      keyPassword 'your password'

      v1SigningEnabled true//

      v2SigningEnabled true//

  }

}

buildTypes {

  debug {

      signingConfig signingConfigs.debugConfig

      ...

  }

}

3 文件结构

KSMediaPlayer-Android

├── Demo

├── KSMediaPlayer-1.8.0.11.aar

│   └──jni

│      ├── libkwaiplayer_aio.so

│      └── libcpu-info.so

│   └──assets

│      └── video_yh_loading_icon.png

└──Readme.md

4 so动态下发

4.1 移除libkwaiplayer_aio.so

支持libkwaiplayer_aio.so动态下发。提供aar包含全部so,按照下面配置即可移除libkwaiplayer_aio.so,开启so动态下发:

android {

  packagingOptions {

      exclude('lib/armeabi-v7a/libkwaiplayer_aio.so')

      exclude('lib/arm64-v8a/libkwaiplayer_aio.so')

  }

}

注意事项,在libkwaiplayer_aio.so加载成功前:

  1. 使用系统播放器进行播放,功能及事件回调满足基本播放需求。受系统播放器限制,不支持预加载,不支持下载进度监听,不支持403error刷新URL,不支持网络打分,不支持变速不变调。
  2. 安卓系统播放器无法播放直播,因此直播会回调特定错误码:50010


4.2 libkwaiplayer_aio.so动态下载配置

在app的assets目录下添加so下载配置:sodler.json,内容格式如下:

{
"plugins": [
{
"abiPacks": {
"arm64-v8a": {
"md5": "4de0239f64691eab8f8c049c8118603f",
"soMd5": [
{
"soMd5": "20c3b3d511b6563ce0a60464ca64a251",
"soName": "libkwaiplayer_aio.so"
}
],
"url": "https://s2-10924.kwimgs.com/kos/nlav10924/temp-arm-64_4de0239f64691eab8f8c049c8118603f.zip",
"version": "4de0239f64691eab8f8c049c8118603f"
},
"armeabi-v7a": {
"md5": "46596ea00b5b4ca3450d3acf4ae9cb3e",
"soMd5": [
{
"soMd5": "c0383e43b6d1582867fe45d86e31f9dd",
"soName": "libkwaiplayer_aio.so"
}
],
"url": "https://s2-10924.kwimgs.com/kos/nlav10924/temp-arm-v7_46596ea00b5b4ca3450d3acf4ae9cb3e.zip",
"version": "46596ea00b5b4ca3450d3acf4ae9cb3e"
}
},
"enable": true,
"pluginId": "kwaiplayer"
}
]
}


5 Kotlin库

播放器的弹幕防挡模块依赖kotlin标准库,使用弹幕防挡需要配置如下。

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"


上一篇:错误码查询下一篇:集成SDK
该篇文档内容是否对您有帮助?
有帮助没帮助