打造 Lingara App
本頁譯自英文。如兩者有出入,以英文頁面為準。 閱讀英文頁面
Lingara App 是一台由你執行的伺服器。學習者安裝你的 App 後,Lingara 會向你的伺服器傳送一個已簽章的請求,你的伺服器以一張卡片回應,Lingara 再以自己的樣式繪製這張卡片。你的程式碼永遠不會在學習者的裝置上執行,也永遠看不到 Lingara 在那裡儲存的內容。
對 Lingara 而言,App 就是附有 manifest 的 OAuth 用戶端。用戶端賦予你的 App 身分。manifest 則說明它的卡片可以出現在哪裡、它要求查看什麼,以及 Lingara 把請求傳送到哪裡。
卡片出現在哪裡
你的 manifest 列出你的卡片可以填入的位置。共有兩個:
plans.empty_detail:課程計畫畫面在尚未選取任何計畫時的詳細資料窗格。只要螢幕寬到足以顯示兩個窗格,它就會在網頁、Android 和 iOS 上繪製。home.side:網頁首頁的側欄。
在兩個位置都不會繪製的地方,學習者可以從「App」以全螢幕開啟你的 App:網頁上在主控台裡,Android 和 iOS 上在「設定」裡。每個位置一次只顯示一個 App。學習者為同一個位置安裝了多個 App 時,由他們選擇此處顯示哪一個。
誰可以安裝 App
目前,App 只能由其擁有者安裝在自己的帳戶上。其他任何人的安裝尚未開放。
你需要什麼
- 一個 OAuth 用戶端,在主控台中建立。
- 一台透過 HTTPS 回應 Lingara 請求的伺服器。
- 下方的其中一個 App 套件。套件會驗證每個請求的簽章,在你送出卡片之前讓它符合 Lingara 的限制,並寫出回覆。
快速入門會帶你走完整個流程,從一個新的用戶端到你自己帳戶上的一張卡片。
安裝套件
在下方選擇你的語言。
TypeScript
npm install @lingara/apps@0.1.0-alpha.6Rust
cargo add lingara-apps@0.1.0-alpha.6 --features axum
cargo add axum@0.8
cargo add tokio --features macros,net,rt-multi-threadGo
go get github.com/Spinning-Cat-Studios/lingara_app_framework_sdk/go@v0.1.0-alpha.6Java
<dependency>
<groupId>com.getlingara</groupId>
<artifactId>lingara-apps-java</artifactId>
<version>0.1.0-alpha.6</version>
</dependency>Kotlin
implementation("com.getlingara:lingara-apps-kotlin:0.1.0-alpha.6")Ruby
gem install lingara-apps -v 0.1.0-alpha.6PHP
composer require spinningcatstudios/lingara-apps:0.1.0-alpha.6 spinningcatstudios/lingara:@alpha