Agora 教程 | 如何实现15mins自主搭建一个教育平台?

[ 前言 ]

2020 年对于全球而言都是非常特殊的一年,人与人之间的“物理连结”受到了严重影响,日常的生活、工作大都也逐渐向线上转移。受此影响,大量的线下业务也加速了线上转型,这其中教育行业的在线化趋势尤为明显。

对于教育机构而言,目前常见的教学平台搭建主要有两种选择:可直接使用的 SaaS 平台以及自主开发的 PaaS 平台。但这两种方式都有着较为明显的长短板:SaaS 即拿即用但无法灵活扩展;PaaS 可根据业务需求进行定制化且后期可扩展,但对于开发者的经验以及开发时间会有一定要求。

在这个过程中,如何有效获取自有用户数据促进用户留存以及如何快速进行自主品牌的打造是目前线上教育面临的挑战。而教育 aPaaS 平台的出现,也许刚好可以满足以上需求。

什么是教育 aPaaS

1、关于 aPaaS

在我们了解什么是教育 aPaaS 前,首先需要理解几个关于云服务的基本概念。以下图为例,简单直接点来说:

  • IaaS(Infrastructure as a service – 基础设施即服务) 就是有权管理操作系统之上的一切功能。就像一个未经加工的食材,你可以自行选择器具,然后用这个食材做任何料理,发挥空间很大,但需要付出大量的资源采买、时间和人力成本。
  • PaaS(Platform as a service – 平台即服务) 则是抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。你拿到手的就是一个食物半成品,在这个既定基础上你可以根据自身的需求来进行味道或配料上的调整,咸淡由你。
  • SaaS(Software as a Service – 软件即服务) 给用户提供的能力是使用在云基础架构上运行的云服务提供商的应用程序。约等于可“直接食用”,但几乎没办法做更多的调整和选择,给什么就是什么。

不难看出,PaaS 平台给开发者提供了最大的灵活度,从业务逻辑到实时互动的方式,甚至音视频的清晰度等参数,都可自定义。不过,由于开放的接口比较多,开发者需要一定时间根据产品需求来实现。而 SaaS 虽然可以“即拿即用”,但短板也是显而易见:不灵活、无法定制化、业务数据留存在第三方平台。

那么 aPaaS 是什么呢?

aPaaS(Application Platform as a Service - 应用平台即服务)和 PaaS 都可以完成软件的开发和部署,都支持云端访问。对于开发者来讲,两者的差异在于集成时间与代码量上。以开发一个比较完备的教育应用为例,使用 PaaS 的开发者需要至少两周到一个月的时间,除了要先搞定几百个 API 的作用外,还要理解业务逻辑层面的代码。而 aPaaS 是把复杂的业务逻辑都封装成可配置的参数了,开发者不用去管底层逻辑,不用去学每个 API 是什么,现成参数配置成自己需要的就可以。使用教育 aPaaS 产品最快只需要 15 分钟,通过修改数行参数即可达到应用上线的目的。

2、教育 aPaaS 给我们带来了什么?

自主品牌和个性化业务功能是教育机构与生俱来的需求。随着教育机构业务的不断成长,这种需求会越发强烈与迫切。同时,教师、学生信息以及课程日志等数据对于教育机构而言也是企业未来业务增长很重要的一部分企业资产,对于学员留存也至关重要。

如果选择使用 SaaS 化平台,虽然可以直接上手使用,但由于其是以行业标准化需求来进行开发的,因此很难满足机构的定制化需求,甚至在教育机构的 Logo、UI、域名等品牌信息的露出上也会十分受限,不利于教育机构自主品牌的打造。

另一方面,教师和学生的信息、上课数据等业务数据也会被动保留在第三方直播平台,对企业机构而言,这无疑是给自己的数据安全埋下了一个不定时的隐患。

在 PaaS 平台进行开发虽然能很好地避免以上问题,甚至在定制化方面做得更好,但对于缺乏经验的开发团队或上线排期紧的项目,也就显得有些为难了。

声网Agora发布的 “灵动课堂”是基于 Low-code (低代码)的首款教育 aPaaS 产品,帮助教育机构和开发者最快 15 分钟上线自有品牌,从根本上加快了在本地或云中构建和部署功能强大的现代教育应用程序所需的时间。支持拥有自主品牌、功能灵活可扩展、业务数据自主掌控、稳定可靠、具有XLA体验质量保障等。

  • 低代码开发,模块化功能扩展——提效

“灵动课堂”基于声网Agora 教育 aPaaS 平台,同时满足灵活定制和低代码接入的用户需求,节省 90%+ 开发时间,15 分钟即可上线自有品牌的全功能在线互动教学平台。具备课堂互动、课堂管理、角色管理、权限管理、用户管理等丰富功能,通过模块化功能设计,支持业务功能灵活扩展。同时实现在线教学全流程打通,支持通过标准接口无缝对接用户业务管理系统。

  • 10 倍负荷冗余,不再担心高并发——稳定

依托声网Agora 自研的软件定义实时网 SD-RTN ,基于深度学习算法实时、准确识别网络异常,实现用户“零感知”故障切换机制,为业务高可用保驾护航。还针对东南亚、中东、北美等外教所在国和国内中小城市,做到专属网络优化,端到端优质传输率高于 99%。

  • 数据在自己手里更安全——安全

上线“灵动课堂”后,教育机构的业务数据可以存储在本地或指定第三方服务器,机构可以做到 100% 自主掌控数据留存和迁移。同时,还提供资源隔离、内容加密、传输加密和身份鉴权等功能,多重安全防护措施对教育机构的业务数据安全进行保障。

15 分钟实现云课堂

开发 ≠ 写代码,对于开发者而言,用 100 种方式写出同一个需求是你的能力,但用最高效、简洁的方式写出需求是一种选择。

教育 aPaaS 平台对于开发者而言,重点不仅仅在于提效降本,更重要的是有一部分技术人也许没办法写 100 种代码,但他们关心业务、有着 100 种关于业务的想法,可最终都掣肘于技术的门槛。借助教育 aPaaS 中成熟的基础设施、现成的标准零件、自动化的装配流水线,开发者只需要专注于最核心的业务价值即可。就算是碰到了非标需求,也可以随时自己动手,用最灵活的手工定制方式来解决各种边角问题。

声网一直致力于通过低代码(Low-code)的方式为开发者减负、降低门槛, 让实时互动场景的开发变得更普适、更方便。作为声网推出的教育行业首款低代码教育 aPaaS 产品,“灵动课堂”将原本需要几百个 API 接口才能开发“在线互动课堂”的复杂逻辑进行模块化封装,简化为只需填写或修改几个简单参数即可完成上线,教育机构和开发者无需再花费大量的时间去理解底层音视频的复杂逻辑。

以 Web 为例,首先准备好:

然后通过 npm/cdn 获取 Agora Edu SDK,根据注释,修改代码中的 AppID、userUuid、dom节点、RESTful API token。

下面示例演示了 1V1 教室的创建

1AgoraEduSDK.config({ 
2  // 声网APP ID 
3  appId: '<YOUR AGORA APPID>', 
4}) 
5 
6AgoraEduSDK.launch( 
7  // 放置教育应用的dom节点 
8  document.querySelector("#root1"), 
9  {
10    // 你的用户的全局唯一标识ID,需要与你签发restToken时使用的uid一致
11    userUuid: "userUuid",
12    // 声网RESTful API token,必须使用RTM Token
13    rtmToken: "006f488493d1886435f963dfb3d95984fd4IABFUDvP51uuFjh3OT3Z3AhgOvCxoWDJ959XnVqGGFbJE0AK77EAAAAAIgCUerYEzZcCYAQAAQD/////AgD/////AwD/////BAD/////"
14    rtmUid: "12311"
15    // 用于显示的用户名
16    userName: "userName",
17    // 你的课堂的全局唯一标识ID
18    roomUuid: "roomUuid",
19    // 进入房间的角色,roleType 1: 老师, 2: 学生
20    roleType: 1,
21    // 房间的类型,0: 1v1, 1: 小班, 2: 大班
22    roomType: 0,
23    // 用于显示的房间名
24    roomName: "roomName",
25    // 是否开启设备检测,true的话会在进入教室前显示设备检测页面
26    pretest: true,
27    listener: (evt) => {
28       console.log("evt", evt)
29    }
30  }
31).then(e => window.room$ = e)

根据需要,修改好课堂名称、用户角色、课堂类型(如 1v1课堂, 小班课, 大班课)、房间名称等,就完成基本的开发啦。

注:声网“灵动课堂”主要提供的是课堂内的实时互动体验,本身不提供用户系统和排课系统。

如果你已经建立了自己的用户系统和排课系统,可以参考下图将你的用户系统和排课系统与声网“灵动课堂”进行对接。

你需要实现以下业务逻辑:

  • 在你的服务端部署 RTM Token 生成器,通过 Agora App ID、App 证书和用户 ID 参数生成 RTM Token。详情请参考 生成 RTM Token 文档。
  • 设计一个 RESTful API,用于实现以下三个目的:
    • 验证登录 App 的用户是否在用户系统中存在。
    • 获取该用户的个人信息与排课信息。
    • 获取 RTM Token 生成器为该用户签发的 RTM Token。

客户端获取到用户 ID、课堂 ID 和 RTM Token 后,调用 Agora Edu SDK 的 launch 方法,传入用户 ID、课堂 ID 和 RTM Token 以及其他参数,即可启动声网“灵动课堂”。

目前声网面向“灵动课堂”新客户开启限时优惠,即日起至2021年2月28日,充值1000元送500万分钟用量(相当于10万节课),从充值日起3个月内有效。

(注:课时为示意性估算,实际赠送以500万分钟为准)

推荐阅读
作者信息
ChenYun
TA 暂未填写个人简介
文章
65
相关专栏
本专栏仅用于分享音视频相关的技术文章,与其他开发者和 Agora 研发团队交流、分享行业前沿技术、资讯。发帖前,请参考「社区发帖指南」,方便您更好的展示所发表的文章和内容。