本文介绍了使用低代码集成(含UI)方式快速接入互动课堂Android端的方法。
前提条件
环境要求
系统版本:支持Android 5.0及以上版本。
API版本:支持21及以上版本。
CPU架构:支持实体设备架构armeabi-v7a、arm64-v8a。
其他:不支持视频采集旋转,不支持USB外接摄像头。
集成步骤
流程概览
添加依赖 > 添加配置权限 > 添加proguard配置(可选)。
第一步:添加依赖
依赖可通过远程依赖或文件依赖方式添加。推荐使用远程依赖方式。
方式1:远程添加依赖(推荐)
1.配置依赖仓库。
// 仓库地址 allprojects { repositories { maven { url 'https://maven.aliyun.com/nexus/content/repositories/releases' } } }
2.添加SDK依赖。
def LATEST_VERSION = '1.6.0.20220218004'
dependencies { api "com.aliyun.roompaas.biz:classroom:${LATEST_VERSION}" }
方式2:添加文件依赖
1.下载并解压SDK。登录低代码音视频工厂控制台>应用管理>低代码集成,下载最新Android端SDK。
2.复制aar文件到主工程下的libs文件夹中。
3.配置aar依赖。在
build.gradle
文件下的dependencies字段下添加代码:implementation fileTree(dir: "libs", include: ["*.jar", ""*.aar""])
第二步:添加权限配置
添加完SDK依赖后,打开 AndroidManifest.xml
文件,添加如下权限配置。
<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" />
第三步:添加proguard配置(可选)
SDK中使用了反射,如果您的应用中打开了混淆开关,则需要添加proguard配置。请打开 proguard-rules.pro
文件,添加如下配置。
-dontnote *.**
-dontwarn *.**
# live sdk
-keep class com.aliyun.** { *; }
-keep class com.alivc.** { *;}
-keep class com.cicada.** { *; }
# lwp
-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.** { *; }
# fastjson
-dontwarn com.alibaba.fastjson.**
-keepattributes Signature
-keepattributes *Annotation*
# document
-keep class com.aliyun.roompaas.document.exposable.DocumentService
-keep class com.aliyun.roompaas.document.DocumentServiceImpl
# oss
-keep class com.alibaba.sdk.android.oss.** { *; }
-dontwarn okio.**
-dontwarn org.apache.commons.codec.binary.**
开始使用
请您参考下方代码,或到github上查看完整开源工程。
初始化
示例代码:
ClassInitParam param = new ClassInitParam();
param.appId = "<应用Id>"; //在阿里云本产品控制台应用管理中获取
param.appKey = "<应用Key>"; //在阿里云本产品控制台应用管理中获取
param.serverHost = "<服务端地址>"; //请参见样板间调用地址使用说明文档,在服务部署完成之后获取“服务调用地址”
param.serverSecret = "<服务端接口密钥>"; //请参见样板间调用地址使用说明文档,在服务部署完成之后获取“密钥”
param.userId = "<用户ID>";//自定义用户id,仅支持英文和数字,最大长度36位
ClassPrototype.INSTANCE.init(this, param, new Callback<Void>() {
@Override
public void onSuccess(Void data) {
toast("INSTANCE.init onSuccess: " + data);
}
@Override
public void onError(String errorMsg) {
toast("INSTANCE.init onError: " + errorMsg);
}
});
进入课堂
示例代码:
ClassPrototype.OpenClassParam classParam = new ClassPrototype.OpenClassParam();
classParam.classId = classId;
ClassPrototype.INSTANCE.setup(context, classParam, new Callback<String>() {
@Override
public void onSuccess(String data) {
toast("setUp onSuccess: " + data);
}
@Override
public void onError(String errorMsg) {
toast("setUp onError: " + errorMsg);
}
});
文档内容是否对您有帮助?