竖屏样式

本文介绍Android端集成AUI Kits互动直播场景竖屏样式组件的操作方式、注意事项及相关代码示例等内容。

源码说明

源码下载

下载地址请参见GitHub开源项目MediaBox-AUIKits

目录结构

├── Android                        // Android平台根目录
│   ├── AUIBaseKits                // AUI基础组件依赖库
│   ├── AUICore                    // AUI业务核心依赖库
│   ├── AUIInteractionLiveApp      // 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。

  1. 下载并解压Demo文件,下载地址请参见MediaBox-AUIKits

  2. 配置工程文件:使用Android Studio,选择File > Open,选择上一步下载的Demo工程文件。image.png

  3. 配置license Key和licensefile。在Android/AUIInteractionLiveApp/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" />
  4. 配置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 = "";
        }
  5. 真机测试

    1. 链接Android真机,连接成功后显示如下图。image.png

    2. 单击下图绿色运行按钮,构建工程文件。image.png

    3. 安装到Android真机上,运行互动直播应用。

快速集成

导入源码

从阿里云产品官网或GitHub上获取互动直播的代码仓库,并将对应的基础组件模块,导入到自己的项目工程中。

配置License

MediaBox AUI Kits和MediaBox SDKs拥有统一的License获取方式。您可以在控制台申请如直播推流、短视频、播放器、美颜特效等模块的License使用权限,也可以对各个模块的License进行管理。

配置License的前提是您已获取音视频终端SDK的直播推流和播放器的License授权和License Key,获取请参见管理License

  1. 在AUIInteractionLiveApp/src/main/AndroidManifest.xml里配置 license key。

    <meta-data
     android:name="com.aliyun.alivc_license.licensekey"
     android:value="配置licenseKey"
     tools:node="replace" />
  2. 将.crt文件重命名为release.crt,并复制到AUInteractionLiveApp/src/main/assets/cert/文件夹中。

初始化调用

初始化调用包含注册项目类型替换APP Server地址。每个工程中App模块下都有一个Manager类,参考setup方法,即可完成这部分的初始化调用。

在AUIInteractionLiveApp工程下找到AUIInteractionLiveManager文件,参考setup方法,建议在application上进行调用,包含如下操作。

注册项目类型

private static final String TAG_PROJECT_INTERACTION_LIVE = "aui-live-interaction";

AlivcBase.setIntegrationWay(TAG_PROJECT_INTERACTION_LIVE);

替换APP Server地址

检查实际注册到配置RetrofitManager的APP Server地址

RetrofitManager.setAppServerUrl("$YOU NEED TO CHECK THE APP SERVER URL HERE$");

其它工程配置

说明

本文依赖的版本仅供参考,获取最新的版本请参见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" />

常见问题

互动直播场景

技术支持

如果您在使用AUI Kits有任何问题或建议,欢迎通过钉钉搜索群号35685013712加入AUI客户支持群。