-
Notifications
You must be signed in to change notification settings - Fork 124
Agora Edu 云服务
Read this in another language: English.
声网为后端开发能力不够的开发者提供 Agora Edu 云服务,实现教室、老师和学生的状态管理以及状态变更的 RTM 频道消息通知,具体功能如下:
- 创建教室。
- 教室内学生老师人数控制。
- 房间内用户进出通知,人数统计。
- 教室上课和下课状态管理,视角跟随。
- 生成和更新 RTC Token、RTM Token 和 白板 Token。
- 开启或关闭老师和学生的语音、视频和文字消息聊天;全体禁言。
- 屏幕共享状态控制。
- 互动直播大班课中观众上下麦。
你可直接使用 Agora Edu 云服务,并配合 Agora RTC SDK、Agora RTM SDK、Agora 云端录制和第三方 Netless 白板 SDK,快速搭建在线互动教学场景。
调用 entry room
方法加入教室。
POST /edu/v1/apps/{appId}/room/entry
关注以下参数:
入参 | 说明 |
---|---|
appId |
Agora 为 App 开发者签发的 App ID。 |
roomName |
教室名,用于教室内显示。 |
roomUuid |
你的排课系统中的唯一教室标识。传入相同 roomUuid 的用户会分配到同一间教室。 |
userName |
用户名,用于教室内显示。 |
userUuid |
你的用户系统中的唯一用户标识。使用相同 userUuid 会被认为是同一个用户。 |
role |
用户角色:1 : 老师2 : 学生 |
type |
教室类型:0 : 1 对 1 互动教学1 : 1 对 N 在线小班课(2 ≤ N ≤ 16)2 : 互动直播大班课 |
出参 | 说明 |
---|---|
roomId |
教室 ID,教室的唯一标识。 |
userToken |
用户 Token,用户在该教室内的身份凭证,后续在教室内的操作都需要传入此凭证。 |
调用 get room info
方法获取教室信息(教室名、教室类型、白板 ID 和白板 Token、上课状态、教室内在线人数、连麦用户列表)和当前用户信息(用户名、用户角色、RTC Token、RTM Token、Mute 状态)。
客户端可以通过这些信息初始化教室。
GET /edu/v1/apps/{appId}/room/{roomId}
关注以下参数:
入参 | 说明 |
---|---|
appId |
Agora 为 App 开发者签发的 App ID。 |
roomId |
教室 ID,教室的唯一标识,由 entry room 方法返回。 |
token |
用户 Token,用户在该教室内的身份凭证,由 entry room 方法返回,在 header 中传入。 |
出参 | 说明 |
---|---|
room |
当前教室信息,包括教室名、教室类型、上课状态、在线人数等。此处会返回进教室时传的 roomUuid ,如需进行定制化开发,你可以将此关联到你自己的排课系统。 |
user |
当前用户的信息,包括用户名、用户角色、RTC Token、RTM Token、可否音视频聊天等。此处会返回进教室时传的 userUuid ,如需进行定制化开发,你可以将此关联到你自己的用户系统。 |
在上课过程中,老师和学生可以调用 change room info
和 change user info
方法更新教室信息(是否全部禁言、是否锁定白板和课程状态)和用户信息(能否文字聊天、能否发视频、能否发语音、能否操作白板等)。
信息修改完成后,后台会通过 RTM 频道消息广播给教室内其他用户。
POST /edu/v1/apps/{appId}/room/{roomId}
需要传入 appId
、roomId
和 token
。
POST /edu/v1/apps/{appId}/room/{roomId}/user/{userId}
需要传入 appId
、roomId
和 token
,并指定 userId
。