Skip to content

Agora Edu 云服务

srs888001 edited this page Jul 7, 2020 · 5 revisions

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,快速搭建在线互动教学场景。

快速上手 Agora Edu 云服务

进入教室

调用 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 infochange user info 方法更新教室信息(是否全部禁言、是否锁定白板和课程状态)和用户信息(能否文字聊天、能否发视频、能否发语音、能否操作白板等)。

    信息修改完成后,后台会通过 RTM 频道消息广播给教室内其他用户。

    change room info

    POST /edu/v1/apps/{appId}/room/{roomId}

    需要传入 appIdroomIdtoken

    change user info

    POST /edu/v1/apps/{appId}/room/{roomId}/user/{userId}

    需要传入 appIdroomIdtoken,并指定 userId