本文介绍Android端集成AUI Kits互动直播场景横屏样式组件的操作方式、注意事项及相关代码示例等内容。
源码说明
源码下载
下载地址请参见GitHub开源项目MediaBox-AUIKits。
目录结构
├── Android // Android平台根目录
│ ├── AUIBaseKits // AUI基础组件依赖库
│ ├── AUICore // AUI业务核心依赖库
│ ├── AUIEnterpriseLiveApp // AUI企业直播
│ └── AUIUikit // AUI业务UI组件库
环境要求
Android 5.0(SDK API Level 21)及以上版本。
建议使用Android Studio 4.0以及以上版本。
Android 5.0或以上版本的真机,暂不支持模拟器调试。
前提条件
您已经搭建AppServer并获取了访问域名。搭建步骤,请参见服务端配置与运行。
您已获取音视频终端SDK的直播推流和播放器的License授权和License Key,获取方法请参见管理License。
跑通Demo
本章节介绍如何编译运行Demo。
下载并解压Demo文件,下载地址请参见MediaBox-AUIKits。
配置工程文件:使用Android Studio,选择File > Open,选择上一步下载的Demo工程文件。
配置license Key和licensefile。在
Android/AUIEnterpriseLive/src/main/AndroidManifest.xml
文件的标签处填写在创建SDK License获取的licenseKey和license文件。<!-- TODO 请在此处填写申请到的license相关信息 --> <!-- 接入License:https://help.aliyun.com/document_detail/2391513.html --> <meta-data android:name="com.aliyun.alivc_license.licensekey" android:value="" tools:node="replace" /> <meta-data android:name="com.aliyun.alivc_license.licensefile" android:value="assets/cert/release.crt" tools:node="replace" />
配置AppServer的地址。在
Android/AUICore/AUIAppServer/src/main/java/com/aliyun/auiappserver/RetrofitManager.java
文件的对应代码位置填写在项目打包和运行处搭建好的AppServer的地址。/** * TODO: 请在此处填写您已搭建好的APP Server地址 */ public static class Const { /** * 互动直播-内部IM使用的APP Server地址 */ public static final String APP_SERVER_URL_ALIVC = ""; /** * 互动直播-融云IM使用的APP Server地址 */ public static final String APP_SERVER_URL_RONG_CLOUD = ""; /** * 企业直播-内部IM使用的APP Server地址 */ public static final String APP_SERVER_URL_ENTERPRISE = ""; }
真机测试
链接Android真机,连接成功后显示如下图。
单击下图绿色运行按钮,构建工程文件。
安装到Android真机上,运行互动直播应用。
快速集成
导入源码
从阿里云产品官网或GitHub上获取企业直播的代码仓库,并将对应的基础组件模块,导入到自己的项目工程中。
配置License
MediaBox AUI Kits和MediaBox SDKs拥有统一的License获取方式。您可以在控制台申请如直播推流、短视频、播放器、美颜特效等模块的License使用权限,也可以对各个模块的License进行管理。
配置License的前提是您已获取音视频终端SDK的直播推流和播放器的License授权和License Key,获取方法请参考管理License。
在AUIEnterpriseLiveApp/src/main/AndroidManifest.xml里配置license key。
<meta-data android:name="com.aliyun.alivc_license.licensekey" android:value="配置licenseKey" tools:node="replace" />
将.crt文件重命名为release.crt,并复制到AUIEnterpriseLiveApp/src/main/assets/cert/文件夹中。
初始化调用
初始化调用包含注册项目类型和替换APP Server地址。每个工程中App模块下都有一个Manager类,参考setup()方法,即可完成这部分的初始化调用。
在AUIEnterpriseLiveApp工程下找到AUIEnterpriseLiveManager文件,参考setup方法,建议在application上进行调用,包含如下操作。
注册项目类型
private static final String TAG_PROJECT_ENTERPRISE_LIVE = "aui-live-enterprise";
AlivcBase.setIntegrationWay(TAG_PROJECT_ENTERPRISE_LIVE);
替换APP Server地址
检查实际注册到配置RetrofitManager的APP Server地址
RetrofitManager.setAppServerUrl("$YOU NEED TO CHECK THE APP SERVER URL HERE$");
其他工程配置
本文Maven依赖的版本仅供参考,获取最新的版本请参见README.md。
Maven仓库地址
maven { url 'https://maven.aliyun.com/nexus/content/repositories/releases' }
gradle依赖
implementation "com.aliyun.sdk.android:AliVCInteractionMessage:1.0.0"
implementation 'com.aliyun.aio:AliVCSDK_InteractiveLive:6.7.0'
混淆配置
-keep class com.alivc.** { *; }
-keep class com.aliyun.** { *; }
-keep class com.aliyun.rts.network.* { *; }
-keep class org.webrtc.** { *; }
-keep class com.alibaba.dingpaas.** { *; }
-keep class com.dingtalk.mars.** { *; }
-keep class com.dingtalk.bifrost.** { *; }
-keep class com.dingtalk.mobile.** { *; }
-keep class org.android.spdy.** { *; }
-keep class com.alibaba.dingpaas.interaction.** { *; }
-keep class com.cicada.**{*;}
权限申请
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
常见问题
技术支持
更多AUIKits问题咨询及使用说明,请搜索钉钉群35685013712加入AUI客户支持群联系我们。