快速入门(Android-Glass)
一、快速上手
本节将介绍如何在项目中使用 THMKit SDK 快速集成多人远程会议、场景标记等功能,实现文字、图片、语音、视频等类型收发,满足多场景即时通讯需求。
二、开发环境要求
-
Android 4.1(SDK API 24)及以上系统。
- compileSdk 34
- minSdk 24
- targetSdk 28
-
JDK1.8
三、THMKit SDK 的核心组成部分:
-
UI Activity(UI 组件)
包含以下 2 个组件: RTCCalledActivity、RTCVideoActivity
-
Activity①: RTCCalledActivity
说明: 用于接收到会议呼叫消息时,弹窗提示用户, 等待用户操作, 用户可以通过该组件进行接听/拒绝操作 你也可以自定义自己的接听与拒绝组件, 自定义接听/拒绝按钮, 通过按钮触发 SDK 的接听和拒绝 API 即可
-
Activity②: RTCVideoActivity
说明:该组件是远程会议的核心组件, 包含了远程协助会议全部的核心功能, 包括: 画笔、画板、文本、图片、语音、视频、屏幕共享等。 该组件目前不支持自定义。
-
四、核心组件架构图
五、核心业务流程图
六、开发环境准备
- 安装开发工具
- 推荐 Android studio: https://developer.android.google.cn/
- 推荐JDK:https://www.oracle.com/java/technologies/downloads/
七、快速体验
- 体验前置条件
- 已在开发者平台注册账号, 如未注册, 请前往开发者平台注册;
- 已在开发者平台创建应用, 如未创建, 请前往开发者平台创建应用;
- 已在开发者平台创建 AK, 如未创建, 请前往开发者平台创建应用;
- 已在开发者平台添加用户, 如为添加, 请前往开发者平台添加用户;
- 体验参数准备:
- userId: 你的应用用户的 userId, 请在开发者平台查看;
- appKey: 你的应用的 appKey, 请在开发者平台查看;
- accessKey: 你的应用的 accessKey, 请在开发者平台查看;
- accessSecret: 你的应用的 accessSecret, 请在开发者平台查看;
- timestamp: 你的应用用户登录后预期 token 有效期时间戳;
- 下载我们已经准备好的示例工程包, 示例工程下载地址: Github
- 在示例工程example-glass文件夹内找到build.gradle,修改体验参数appKey、accessKey、accessSecret
- 运行示例工程
- 在登录页面输入userId,点击登录后即可体验
八、快速集成
说明: 将THMKit SDK集成到自己的工程中
-
步骤 1. 创建一个android工程
-
步骤 2. 添加SDK依赖
-
找到 android工程的build.gradle,首先在 repositories 中添加依赖
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
maven { url "https://maven.rokid.com/repository/maven-public/" }
maven {
url 'http://maven.teamhelper.cn:8081/repository/MST/'
allowInsecureProtocol true
}
} -
在 dependencies 中添加 SDK 的依赖:
dependencies {
implementation 'com.teamhelper.meeting:teamhelper-glass-meeting:1.0.0'
}
-
-
步骤 3. 初始化SDK
MeetingManager.init(this);//在application中调用
-
步骤 4: 登录Teamhelper 远程协助SDK代码如下:
- 说明: 该登录api是在初始化SDK后调用, 用于登录远程协助服务端, 用于获取远程协助服务端的 token, 用于后续的远程协助业务;
- 登录代码如下:
//userId、在开发平台创 建用户后的用户ID
//appKey、accesskey、accessSecret是在开放平台中创建项目后可以查看到
//timestamp 本次登录的token有效期时长(毫秒),比如使用当前时间戳+(60*60*1000)代表有效期为1小时
MeetingManager.login(userId, appKey, accesskey, accessSecret, timestamp, new IMeetingCallback<UserBean>() {
@Override
public void onSuccess(UserBean data) {
//登录成功
}
@Override
public void onError(int code, String message) {
//登录失败
}
});