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 – 軟件即服務)給用戶提供的能力是使用在雲基礎架構上運行的雲服務提供商的應用程序。約等於可“直接食用”,但幾乎沒辦法做更多的調整和選擇,給什么就是什么。

 

 圖片來源:

https://twitter.com/jeffbarr/status/892767314168365056

 

不難看出,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 教室的創建

 1 AgoraEduSDK.config({
 2  // 聲網APP ID
 3  appId: '<YOUR AGORA APPID>',
 4 })
 5
 6 AgoraEduSDK.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課堂, 小
 
        

根據需要,修改好課堂名稱、用戶角色、課堂類型(如 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 以及其他參數,即可啟動聲網“靈動課堂”。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM