Integrations
Kotlin Multiplatform mobile SDK
Shared WebSocket client for Android and iOS — same protocol as `@fluxy-chat/sdk`.
Kotlin Multiplatform mobile SDK
Shared WebSocket client for Android and iOS — same protocol as @fluxy-chat/sdk.
Current state
| Package | Status |
|---|---|
packages/sdk-kmp/ | Active — Ktor WS, Android / iOS / JVM |
packages/kotlin-sdk/ | Legacy Android starter |
packages/swift-sdk/ | Legacy iOS starter |
Layout
packages/sdk-kmp/
shared/src/commonMain/kotlin/ FluxyChatClient, FluxyRoomWebSocket
shared/src/androidMain/ OkHttp engine
shared/src/iosMain/ Darwin engine
shared/src/jvmMain/ CIO engine (tests)Build locally
Requires JDK 17+.
cd packages/sdk-kmp
gradle :shared:jvmTest
gradle :shared:compileDebugKotlinAndroidCI uses gradle/actions/setup-gradle@v4 (no local wrapper required).
Usage
val config = FluxyChatConfig(
apiUrl = "https://api.example.com",
wsUrl = FluxyChatConfig.wsUrlFromApi("https://api.example.com"),
projectId = "your-project-uuid",
token = memberJwt,
)
val client = FluxyChatClient(config)
client.connectRoom("general")
client.sendMessage("general", "Hello from KMP")Publish to Maven Central
Tag sdk-v* triggers .github/workflows/publish-sdk-kmp.yml.
Full setup (Sonatype, GPG, GitHub secrets): maven-central-publish.md
Coordinates: com.fluxychat:shared
iOS
XCFramework zip attached to GitHub Release on each sdk-v* tag. Embed in Xcode per Kotlin Apple framework docs.
References
- maven-central-publish.md
packages/sdk-kmp/README.md- TS SDK:
packages/sdk/src/
Activepieces integration (CRM / automation)
Use **Activepieces** (MIT, self-hostable) to run no-code automations when FluxyChat events fire — sync to CRM, notify Slack, update Notion.
LiveKit integration (voice / video)
FluxyChat voice features use **LiveKit** as the WebRTC SFU. The Cloudflare Worker issues short-lived JWT access tokens; media runs on your LiveKit server, not o