2024/08/02 15:33:54
集成用户系统和排课系统
灵动课堂主要提供课堂内的实时互动体验,自身并不提供用户系统和排课系统。如果你使用自己部署的用户系统和排课系统,可参考以下信息集成。
技术原理
在灵动课堂中集成用户及排课系统的流程如下:
如上图所示,如需要集成灵动课堂与你的用户系统及排课系统,你需要实现以下业务逻辑:
- 在你的服务端部署 RTM Token 生成器,通过声网 的 App ID,App 证书和用户 ID 参数生成 RTM Token。详情请参考使用 Token 鉴权。
- 设计一个 RESTful API,用于实现以下三个目的:
- 验证登录 App 的用户是否在用户系统中存在。
- 如存在该用户,获取该用户的用户信息与排课信息。
- 获取 RTM Token 生成器为该用户签发的 RTM Token。
- 客户端获取到用户 ID,课堂 ID 和 RTM Token 后,根据启动灵动课堂调用声网 Classroom SDK 的 launch 方法,传入用户 ID,课堂 ID,RTM Token 以及其他参数,启动灵动课堂。
注意事项
集成用户系统
需要将你自己的用户系统中的用户 ID(或用户 ID 的映射)传入灵动课堂,作为灵动课堂内用户的 userUuid
。
灵动课堂的 userUuid
具有全局唯一性,即同一时间同一个 userUuid
只允许在一个设备的一个实例上登录,再次登录会将之前设备登录状态踢出。
相同 userUuid
在同一个 roomUuid
中的数据会被保留,即如果同一个 userUuid
在同一节课中更换了设备(如从浏览器登录切换到了手机 App 登录),该用户在该课堂中的信息仍会存在。
集成排课系统
需要将你自己的排课系统中的课堂 ID(或课堂 ID 的映射)传入灵动课堂,作为灵动课堂内课堂的 roomUuid
。
灵动课堂的 roomUuid
是一次会话的概念。课堂会在第一位用户进入后自动创建,并在最后一位用户离开 1 小时后彻底销毁。
声网不会保存您的用户信息和课堂信息。在课堂销毁之后,如果你复用之前的 roomUuid
再次进入房间,将会得到一个全新的课堂,而不是之前的课堂。
信息
声网不建议你复用 roomUuid
,这样会导致无法区分两次会话。例如,给一年级 1 班学生排数学课,建议每次上课都使用新的 roomUuid
来创建新的会话,而不是一个学期每节数学课都复用同一个 roomUuid
。