有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

开发环境要求

Android studio 3.0+
Android 6.0(23)及以上系统

前提条件

您已 注册腾讯云 账号,并完成 实名认证 。

步骤一:创建新的应用

1. 登录 实时互动-教育版 控制台,在左侧导航栏选择快速跑通
2. 默认进入“创建应用”界面,应用类型可选择“新建应用”,输入应用名称,例如 TestLCIC。
若您已创建应用,应用类型项可单击“选择已有应用”。
说明:
每个账号可免费创建一个试用应用,若当前账号下无试用应用,可直接创建试用应用进行体验。若需创建商用应用,可根据业务需求在 购买页 创建对应版本的应用。
3. 根据实际业务需求添加或编辑标签 ,单击下一步



说明:
应用名称只允许下划线、数字或中英文字符。
标签用于标识和组织您在腾讯云的各种资源。例如:企业可能有多个业务部门,每个部门有1个或多个 LCIC 应用,这时,企业可以通过给 LCIC 应用添加标签来标记部门信息。标签并非必选项,您可根据实际业务需求添加或编辑。

步骤二:获取 SDKAppId 和密钥(SecretKey)

1. 进入应用管理 > 应用配置,获取 SDKAppId 。
2. 进入 访问管理(CAM)控制台 获取密钥,若无密钥,需要在 API 密钥管理中进行新建,具体可参见 访问密钥管理 。




步骤三:导入 SDK

gradle 工程 SDK 远程构建

LCIC SDK 已经发布到 mavenCentral 库,您可以通过配置 gradle 自动下载更新。
1. 应用模块的 build.gradle 中,在 dependencies 中添加 LCIC SDK 的依赖。
dependencies {
// LCICSDK 组件 
implementation 'com.tencent.edu:TCICSDK:1.8.3
}
2. 在 defaultConfig 中,指定 App 使用的 CPU 架构。
defaultConfig {
ndk{
abiFilters "armeabi-v7a","arm64-v8a"
}
}
3. 在 compileOptions 中,使用 JDK 1.8 编译。
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
说明:
目前 LCIC SDK 支持 armeabi-v7a 和 arm64-v8a。
4. 单击 Sync Now,自动下载 SDK 并集成到工程里。

步骤四:配置 App 权限

在 AndroidManifest.xml 中配置 App 的权限,LCIC SDK 需要以下权限:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

步骤五:设置混淆规则(可选)

如设置了混淆,需在 proguard-rules.pro 文件,将 LCIC SDK 相关类加入不混淆名单:
-keep class com.tencent.** { *; }

步骤六:SDK 授权申请

需要您发送邮件申请 SDK 权限。请按以下模板发送邮件至 tylerding@tencen.com 联系我们。信息确认无误的情况下我们将会在1个工作日完成。
说明:
包名用于 x5 内核以及快直播播放器签名授权,请提供所需授权的正式应用的 App Name、Package Name 和 Bundle ID 信息,并发送邮件。

收件人:tylerding@tencent.com
主题
实时互动-教育版 Android SDK 授权申请
内容
公司名称:xxx 有限公司
个人姓名:
联系方式:
App Name:
Package Name (Android): 
Bundle ID (iOS): 

步骤七:初始化 X5 内核

X5 内核相对于系统 WebView,具有兼容性更好,速度更快等优势。Android 实时互动-教育版 SDK 的组件实现依赖于 x5 内核的 WebView。现提供 x5 内核静态集成方式,能提升 x5 内核加载成功率且无需进程重启即可生效。
//初始化X5内核
TCICManager.getInstance().initX5Core(licenseKey, new TBSSdkManageCallback() {

@Override
public void onCoreInitFinished() {
}

@Override
public void onViewInitFinished(boolean isX5Core) {
if (isX5Core) {
//X5内核初始化完成,可以进课堂
}
}
});
注意:
TCICManager.getInstance().initX5Core(licenseKey); 中的 licenseKey 参数需要通过 步骤六 发送邮件联系我们获取 X5 内核的 licenseKey。
建议在同意隐私政策协议之后,再调用初始化 X5 内核的方法,以免上架应用市场时未经用户同意,存在收集个人信息的行为。
建议在进入课堂前先判断 x5 内核是否安装成功。判断方法:onViewInitFinished。

步骤八:获取进入课堂所需参数

TCICClassConfig 参数解释
1. 通过 控制台 进入应用管理 > 应用配置,获取 SDKAppId ,即为学校编号(schoolId)信息。
2. 通过云 API 接口 CreateRoom 创建课堂,可以获取到课堂号(classid)信息。
3. 通过调用云 API 接口 RegisterUser 注册用户,可以获取到对应的用户 ID(userid)信息。
4. 通过云 API 接口 LoginUser 登录,可以获取到用户鉴权 token 信息。
5. scene、lng、camera、mic、speaker为非必要参数,如果不设置则使用的是默认值。
字段
类型
含义
备注
必填
schoolId
int
学校编号
通过控制台进入应用管理 > 应用配置,获取 SDKAppId 
classId
long
课堂编号
通过 CreateRoom 接口创建返回 RoomId 获取
userId
string
用户账号
通过  RegisterUser  接口获取
token
string
后台鉴权参数
通过  LoginUser  接口获取
scene
string
场景名称
用于区分不同的定制布局,通过 SetAppCustomContent 接口配置
lng
string
语言参数
当前支持 zh、en,默认 zh 。同时需要设置一下TCICWebViewManager.getInstance().setClassLanuage(this, env, lng); lng参数。
camera
int
初始化开启摄像头
1为开启摄像头,0为关闭摄像头,默认 1
mic
int
初始化开启麦克风
1为开启麦克风,0为关闭麦克风,默认 1
speaker
int
初始化开启扬声器
1为开启扬声器,0为关闭扬声器,默认 1

步骤九:调起组件主页面

只需传递 4 个参数就可调起 LCIC 组件主页面,分别为学校编号、课堂编号、用户账号和 token。
Intent intent = new Intent(getActivity(), TCICClassActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Bundle bundle = new Bundle();
TCICClassConfig initConfig = new TCICClassConfig.Builder()
.schoolId(schoolId)
.classId(classId)
.userId(userId)
.token(token)
.build();
bundle.putParcelable(TCICConstants.KEY_INIT_CONFIG, initConfig);
intent.putExtras(bundle);
startActivity(intent);
如果您需要监听退出课堂通知,可以通过注册 TCICConstants.ON_CLASS_EXITED_ACTION 的本地广播,参见如下代码:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(TCICConstants.ON_CLASS_EXITED_ACTION);
LocalBroadcastManager.getInstance(context).registerReceiver(broadcastReceiver, intentFilter);

其它

我们建议您在使用 LCICSDK 时,同时也接入腾讯 Bugly,帮助您快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。 接入指南参见 腾讯 Bugly 官网
参见 开发 Demo