tencent cloud

文档反馈

最后更新时间:2024-11-20 10:17:39

    开发环境要求

    Android studio 3.0+
    Android 4.4(API 19)及以上系统

    前提条件

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

    步骤一:创建新的应用

    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_LITE:1.8.9'
    }
    2. 在 defaultConfig 中,指定 App 使用的 CPU 架构。
    defaultConfig {
    ndk{
    abiFilters "armeabi-v7a","arm64-v8a"
    }
    }
    说明:
    目前 LCIC SDK 支持 armeabi-v7a 和 arm64-v8a,能够根据业务需求进行灵活配置。支持不同架构时,包体大小可能会有所不同。
    3. 在 compileOptions 中,使用 JDK 1.8 编译。
    compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
    }
    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 权限。请按以下模板发送邮件至 mediaservices@tencent.com 联系我们。信息确认无误的情况下我们将会在1个工作日完成。
    说明:
    包名用于 x5 内核以及快直播播放器签名授权,请提供所需授权的正式应用的 App Name、Package Name 和 Bundle ID 信息,并发送邮件。
    
    收件人:mediaservices@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内核初始化完成,可以进课堂
    }
    }
    });
    注意:
    海外版目前仅支持64位架构的集成。
    TCICManager.getInstance().initX5Core(licenseKey); 中的 licenseKey 参数需要通过 步骤六 发送邮件联系我们获取 X5 内核的 licenseKey。
    建议在同意隐私政策协议之后,再调用初始化 X5 内核的方法,以免上架应用市场时未经用户同意,存在收集个人信息的行为。
    建议在进入课堂前先判断 x5 内核是否安装成功。判断方法:isX5InstallSuccess。

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

    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
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持