SDK Overview
EthioConnect provides official SDKs for server-side and client-side integration. The SDKs handle authentication, room management, WebSocket signaling, media connections, and QoS telemetry.
Available SDKs
| SDK | Package | Runtime | Purpose |
|---|---|---|---|
| Server SDK | @comm-baas/server-sdk | Node.js 18+ | Token minting, room management, analytics, billing. Authenticates with a tenant API key. |
| Client SDK | @comm-baas/client-sdk | Browser | REST API access and WebSocket signaling with session resume. Authenticates with a JWT. |
| React | @comm-baas/react | Browser (React 18+) | Declarative hooks and providers wrapping the client SDK. |
| Swift | CommBaaS (SPM) | iOS 16+, macOS 13+ | Native iOS client with async/await, LiveKit media, and QoS telemetry. |
| Android | com.commbaas:sdk (Maven) | Android API 26+ | Native Android client with Kotlin coroutines, LiveKit media, and QoS telemetry. |
| Flutter (Dart) | commbaas (in-repo; pub.dev planned) | Flutter 3 (iOS, Android) | Native Dart client with typed resource facades, WebSocket signaling with session resume, LiveKit media, and QoS telemetry. |
Architecture
Your Backend Client Apps
============ ===========
@comm-baas/server-sdk @comm-baas/client-sdk (browser)
@comm-baas/react (React)
CommBaaS (iOS)
com.commbaas:sdk (Android)
commbaas (Flutter)
| |
| API Key auth | Bearer JWT auth
v v
EthioConnect API <-- types --> EthioConnect API
|
| WebSocket signaling
v
LiveKit SFU (media)
The server SDK runs on your backend and holds the tenant API key. It mints short-lived JWTs for end users. Client SDKs (browser, iOS, Android, Flutter) authenticate with those JWTs and manage WebSocket signaling and media connections.
Versioning
All JavaScript packages (@comm-baas/types, @comm-baas/server-sdk, @comm-baas/client-sdk, @comm-baas/react) follow lockstep versioning to guarantee type compatibility. Mobile SDKs are versioned independently but maintain API contract compatibility.
Next Steps
- JavaScript SDK — Monorepo overview and quick start.
- Server SDK — Full API reference for Node.js.
- Client SDK — Browser SDK with signaling and reconnection.
- React — Hooks and providers.
- Swift (iOS) — Native iOS SDK.
- Android — Native Android SDK.
- Flutter (Dart) — Native Dart SDK (
commbaas) for Flutter apps.