Skip to main content

Client SDK overview

Clients offer a Headless SDK and UI Kit. Headless exposes classroom operations and callbacks; UI Kit provides classroom screens. Both use classroom user tokens issued by your backend.

Client integration layers

Swipe horizontally to see the full diagram

Client integration layersUI Kit and custom interfaces use the same Headless capabilities. The host manages permissions, views and lifecycle; SDK adapters connect to classroom and provider services.Classroom UI KitUI KitMembers · Chat · Board · Media controlsYour own interfaceApp views / ControllerCall methods and subscribe to SDK stateEduSDK HeadlessEntry / Exit · Permissions · Operations and callbacksClassroom and IMAuthentication · Signals · ChatRTC adapterAudio / Video · Screen sharingWhiteboard adapterCollaboration · Courseware
UI Kit and custom interfaces use the same Headless capabilities. The host manages permissions, views and lifecycle; SDK adapters connect to classroom and provider services.
Client integration layers

Swipe horizontally to see the full diagram

Client integration layersUI Kit and custom interfaces use the same Headless capabilities. The host manages permissions, views and lifecycle; SDK adapters connect to classroom and provider services.Classroom UI KitUI KitMembers · Chat · Board · Media controlsYour own interfaceApp views / ControllerCall methods and subscribe to SDK stateEduSDK HeadlessEntry / Exit · Permissions · Operations and callbacksClassroom and IMAuthentication · Signals · ChatRTC adapterAudio / Video · Screen sharingWhiteboard adapterCollaboration · Courseware

UI Kit and custom interfaces use the same Headless capabilities. The host manages permissions, views and lifecycle; SDK adapters connect to classroom and provider services.

Platforms​

PlatformHeadless / UI KitRequirementsGuide
Web / H5@eduskit/sdk / @eduskit/uinpm 0.1.1; Vue 3 UI, with a controller for other frameworksWeb
Androidcom.eduskit:edusdk / com.eduskit:edusdk-uiKotlin / Java; API 24+, arm64 distribution chainAndroid
iOS / iPadOSEduSDK / EduSDKUISwift / Objective-C; unified SwiftPM package requires iOS 15+iOS
Electron@eduskit/sdk-electron / @eduskit/ui-electronWindows / macOS; native dependencies are OS- and architecture-specificElectron
Qt / C++DesktopSdk / EduSdk::UiQtmacOS and Windows x64; examples require native provider librariesQt / C++
WeChat / Alipay / Douyin mini programsPlatform createEduSdk subpackage entrySource bundles; host monotonic clock, Worker/WASM and device integration requiredMini programs
HarmonyOS@edukits/edusdk / @edukits/edusdk-uiLocal HAR; host provider bindings requiredHarmonyOS
Flutter / React NativePlanned native bridgesNo official bridge plugin or packageBridge status

Entry parameters​

ParameterSource
appIdClassroom application ID
backendUrlsdk-api endpoint for the environment
classroomIdServer classroom creation result
userIdRegistered user's eduUserId
userTokenRaw accessToken issued by the Server SDK
displayNameBusiness display name

The production default is https://sdk.eduskit.com; development uses https://sdk-dev.eduskit.com. Web requires classroomId, userId and userToken. Mobile Options also require application, endpoint and display-name arguments as shown in their signatures.

Entry responses supply IM, RTC and whiteboard credentials and addresses. Source builds use init.needWhiteboard / init.needRtc to select capabilities and keep IM and RTC credentials separate. See Classroom lifecycle.

Configure Host permissions and networking before running platform examples. Versions and distribution describes source/release differences.