本文介紹Android端集成AUI Kits互動直播場景豎屏樣式組件的操作方式、注意事項及相關代碼示例等內容。
源碼說明
源碼下載
下載地址請參見GitHub開源項目MediaBox-AUIKits。
目錄結構
├── Android // Android平臺根目錄
│ ├── AUIBaseKits // AUI基礎組件依賴庫
│ ├── AUICore // AUI業(yè)務核心依賴庫
│ ├── AUIInteractionLiveApp // AUI互動直播
│ └── AUIUikit // AUI業(yè)務UI組件庫
環(huán)境要求
Android 5.0(SDK API Level 21)及以上版本。
建議使用Android Studio 4.0以及以上版本。
Android 5.0或以上版本的真機,暫不支持模擬器調試。
前提條件
您已經搭建AppServer并獲取了訪問域名,搭建步驟請參見服務端配置與運行。
您已獲取音視頻終端SDK的直播推流和播放器的License授權和License Key,獲取方法請參見接入License。
跑通Demo
本章節(jié)介紹如何編譯運行Demo。
下載并解壓Demo文件,下載地址請參見MediaBox-AUIKits。
配置工程文件:使用Android Studio,選擇File > Open,選擇上一步下載的Demo工程文件。
配置license Key和licensefile。在
Android/AUIInteractionLiveApp/src/main/AndroidManifest.xml
文件的標簽處填寫在創(chuàng)建SDK License獲取的licenseKey和license文件。<!-- TODO 請在此處填寫申請到的license相關信息 --> <!-- 接入License:http://bestwisewords.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 = ""; /** * 企業(yè)直播-內部IM使用的APP Server地址 */ public static final String APP_SERVER_URL_ENTERPRISE = ""; }
真機測試
鏈接Android真機,連接成功后顯示如下圖。
單擊下圖綠色運行按鈕,構建工程文件。
安裝到Android真機上,運行互動直播應用。
快速集成
導入源碼
從阿里云產品官網或GitHub上獲取互動直播的代碼倉庫,并將對應的基礎組件模塊,導入到自己的項目工程中。
配置License
MediaBox AUI Kits和MediaBox SDKs擁有統(tǒng)一的License獲取方式。您可以在控制臺申請如直播推流、短視頻、播放器、美顏特效等模塊的License使用權限,也可以對各個模塊的License進行管理。
配置License的前提是您已獲取音視頻終端SDK的直播推流和播放器的License授權和License Key,獲取請參見管理License。
在AUIInteractionLiveApp/src/main/AndroidManifest.xml里配置 license key。
<meta-data android:name="com.aliyun.alivc_license.licensekey" android:value="配置licenseKey" tools:node="replace" />
將.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客戶支持群。