指南

如何建立網上課程平台:課堂、影片、付款同進度

要建立網上課程平台,你需要每個課程嘅目錄同銷售頁面、按單元組織嘅課堂、一個安全存放影片嘅地方、可以解鎖權限嘅付款功能,以及讓學員追蹤進度嘅方法。AI 應用程式生成工具可以根據描述建立頁面、資料庫同邏輯;而你就要連接付款服務商同影片託管服務。最重要嘅細節係權限控制:每一個課堂都必須喺伺服器上檢查學員是否已經付款,而唔係只係隱藏連結。

課程平台需要咩

首先列出邊個會使用,以及每個人會做咩。

身份需要咩
訪客瀏覽課程、閱讀附有課程內容、價錢同試看課堂嘅銷售頁面,並購買
學員登入、睇到「我嘅課程」、按次序睇課堂、標記完成、從上次停低嘅地方繼續
導師/你建立課程、單元同課堂,上傳或連結影片、設定價錢、查看邊啲人報咗名

背後嘅數據:

數據主要欄位
課程標題、描述、價錢、封面圖片、已發布或草稿
單元所屬課程、標題、次序
課堂所屬單元、標題、次序、影片參考、文字筆記、附件、是否免費試看
學員帳戶、姓名、電郵
報名紀錄學員、課程、取得權限嘅方式(購買、優惠碼、人手新增)、日期
進度學員、課堂、是否完成、最後位置

可選功能,大致按人哋通常加入嘅次序排列:可下載嘅資料、測驗、完成證書、留言或討論區、按週逐步開放(每星期解鎖一個單元)、優惠碼、套裝同訂閱。

建立之前要決定嘅事

影片放喺邊度

影片係最容易做錯嘅部分。影片檔案好大,需要喺唔同網絡上以不同畫質串流,而且係人哋最想複製嘅嘢。將原始影片檔案放喺應用程式嘅一般檔案儲存入面,再由自己提供,通常係一個差嘅選擇:喺網絡差嘅情況下會好慢,而且每次有人觀看,頻寬費用都會增加。

選擇適合要留意
附私隱控制嘅專業影片託管(Vimeo、Mux、Bunny Stream、Cloudflare Stream 等)收費課程每個服務都有自己嘅收費模式;請喺其網站上比較儲存、播放分鐘數同功能
非公開嘅 YouTube 影片免費課程、吸引潛在客戶嘅內容非公開唔等於私隱:任何有連結嘅人都可以觀看同分享
放喺你自己嘅儲存空間入面嘅檔案短片、可下載嘅 PDF 同音訊頻寬費用,亦冇自適應串流

無論揀邊個託管服務,都要留意佢能否將播放限制喺你嘅網域上,或者發出短期有效嘅播放連結。咁樣,被人複製嘅嵌入程式碼就唔能夠喺其他人嘅網站上運作。

人哋點樣付款

  • 每個課程一次性購買。 最簡單。透過 Stripe 等付款服務商嘅結賬頁面,之後永久可以睇。
  • 所有課程共用訂閱。 如果你定期發布內容,咁會更適合。但訂閱結束時,你亦要撤銷權限。我哋有關如何建立會員網站嘅指南會詳細講解如何按訂閱控制存取。
  • 免費課程加付費升級。 適合先建立觀眾群。

稅務亦要考慮。好多國家都對售予消費者嘅數碼產品徵稅,有時以買家所在地為準。付款服務商提供計算工具,有啲服務亦會擔任「商家記錄者」,代你處理稅務。開始向海外銷售之前,請先向會計師查明你嘅責任。

權限點樣解鎖

付款成功之後,付款服務商會向你嘅伺服器發送一個訊息(webhook),說明邊個付咗錢買咗咩。然後你嘅伺服器會建立報名紀錄。唔好只因為學員去到「多謝」頁面就解鎖權限,因為唔付款都可以去到嗰個頁面。

一步一步咁建立

第一步:由一個課程同冇付款功能開始

先建立學員嘅體驗,用一個真實課程同幾個課堂。如果觀看同完成課堂嘅過程唔夠愉快,付款功能都唔會解決問題。

為 Sketch Daily(一個適合初學者嘅繪畫課程)建立一個網上課程網站。主頁列出課程;課程頁面有描述、按單元列出嘅課程內容、價錢,以及一節免費試看課堂。已登入嘅學員可以睇到「我嘅課程」,以及一個課堂頁面,當中有嵌入嘅影片、下方嘅筆記、「標記完成」同上一節/下一節按鈕,每個課程都有一個進度條。課程、單元、課堂、報名紀錄同進度都儲存喺資料庫。加入一個管理區,讓我可以建立課程、重新排列課堂,並為每節課堂貼上影片嵌入連結。設計簡潔平靜,並且適合手機使用。

第二步:加入帳戶

學員需要登入,咁佢哋嘅進度同購買紀錄先會跟住佢哋。電郵加密碼係常見嘅起點;對於經常唔記得密碼嘅人,透過電郵「魔法連結」登入會更方便。參閱如何為應用程式加入登入。

第三步:喺伺服器上鎖定課堂

要求每個課堂頁面同每個課堂數據請求,都要喺伺服器上檢查已登入嘅學員有冇報名該課程(或者該課堂被標記為免費試看)。然後進行測試:以一位未報名嘅學員身分登入,然後直接將某個課堂網址貼入瀏覽器。你應該見到「購買此課程」嘅提示,而唔係課堂內容。

第四步:連接付款

建立一個付款服務商帳戶,先用測試模式,並將密鑰儲存為環境變數。要求喺每個課程頁面加入結賬按鈕,以及一個 webhook 端點,於付款成功時建立報名紀錄。用服務商嘅測試卡測試,包括一次失敗嘅付款。如何為應用程式加入付款功能會逐步講解。

第五步:加入電郵

最少要有:一封附有課程連結嘅收據電郵,以及密碼重設電郵。之後可以為一段時間冇登入嘅學員加入提醒電郵。電郵需要發送服務商同已驗證嘅網域。

第六步:以三種唔同身分測試

上線之前,分別以訪客(我明唔明白自己買緊乜嘢?)、新學員(我可唔可以喺兩分鐘內付款、登入並開始第一課?)同導師自己(我可唔可以唔使問人幫手就加入一節課堂?)嘅身分,完整體驗一次平台。

常見錯誤

  • 只喺介面上隱藏課堂。 如果課堂數據可以喺伺服器上唔經報名檢查就被攞取,任何人都攞得到。
  • 自己提供大型影片檔案。 學員會覺得慢,你亦要承擔高昂費用。
  • 未有人購買就建立測驗、證書同社群。 先賣一個課程。
  • 冇試看課堂。 人哋付款之前,想先聽你把聲、見你教學。
  • 忘記退款同取消訂閱。 要決定兩者發生時權限點樣處理,然後將其建立出嚟。
  • 冇辦法人手修改學員權限。 你需要一個管理操作,為支援要求授予或移除權限。

成本

持續成本包括應用程式嘅主機同資料庫、影片託管服務(由服務商定價,通常按儲存同播放計)、每宗銷售嘅付款處理費、電郵服務商同網域。代管嘅課程平台通常將大部分費用包進月費方案,較低層級有時會收取交易費。決定之前,請比較總成本,包括你自己維護所花嘅時間。我哋唔會喺此列出供應商價錢,因為價錢會變動,請查閱每個供應商嘅定價頁面。

幾時用現成產品更好

Teachable、Thinkific、Kajabi 同 Podia 等代管課程平台,設計上就係喺同一個地方處理影片、結賬、學員帳戶同電郵,有啲亦能協助處理銷售稅;請查閱每個平台目前嘅功能。以下情況通常係更好嘅選擇:

  • 你要出售一個標準嘅影片課程,並希望今個星期就推出
  • 你完全唔想維護軟件
  • 你想要內置嘅推廣功能,例如電郵序列同銷售漏斗

當學習體驗本身就係產品(互動練習、自訂練習工具、分組學習功能)、你希望完全控制品牌同數據,或者以你嘅銷量計,平台費用超過自行運行嘅成本時,自己建立就有道理。折衷做法係先喺代管平台上驗證,然後清楚知道缺少咩之後,再建立。

用 Mythex 建立

Mythex 係一個 AI 應用程式生成工具:你描述課程網站,它就會喺即時預覽中建立頁面、管理區同資料庫,然後發布到一個公開網址。當你嘅應用程式需要儲存課程同進度時,會為項目加入資料庫;需要儲存 PDF 同圖片等上傳檔案時,則加入檔案儲存。Mythex 並無將影片託管、學員登入或課程付款作為內置產品提供:你要自行選擇影片託管服務,用認證函式庫或服務商為應用程式加入登入,並連接你自己嘅 Stripe 帳戶,金鑰則儲存為專案機密。文件涵蓋咗 Stripe 付款、為應用程式用戶加入登入同處理 webhook。

如果想快啲開始,銷售頁面可以試吓課程登陸頁範本,目錄則可以試吓課程店舖範本。如果你嘅課程係一個更大產品構想嘅一部分,如何建立 SaaS MVP會講解首個版本應該剔除咩。

常見問題

課程影片應該放喺邊度託管?

用專為影片而設嘅影片託管服務,唔好將影片檔案放喺你嘅應用程式入面。專門嘅託管服務會處理串流畫質、唔同裝置同網域限制,而且大部分都提供私隱設定,令影片只可以喺你嘅網站上播放。

收費課程可以用非公開嘅 YouTube 影片嗎?

可以,但非公開唔等於私隱:任何有連結嘅人都可以觀看同分享。對於付費內容,一個提供網域層級私隱控制或簽署播放連結嘅託管服務,會更好地保護你嘅作品。

學員付款之後點樣獲得權限?

付款服務商通常透過 webhook 通知你嘅伺服器付款成功,然後伺服器會記錄該學員擁有該課程。每個課堂頁面喺顯示內容之前,都會喺伺服器上檢查呢個紀錄。

我應該自己建立課程平台,定係用 Teachable 或 Kajabi?

如果你想以最少嘅設定同維護工夫,出售一個標準影片課程,就用代管嘅課程平台。如果你需要特定嘅學習體驗、全程使用你自己嘅品牌形象,或者需要嗰啲平台冇提供嘅功能,就自己建立。

Mythex · Pricing · 用 AI 建造任何嘢 · 網站及應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費 AI 應用程式開發工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(台灣)