Build a Custom Workspace by SDK
A custom workspace replaces the main visible room area while preserving the SDK's room, transport, and media lifecycle. Open your SDK section; component types and state handoffs are package-specific.
ReactJS 4.4.5
Use customComponent when one React workspace should replace the supplied main
room. Use uiOverrides when only cards, grids, controls, or modals need to
change. For a completely app-owned shell, use returnUI={false} and implement
the custom UI checklist.
Angular 2.5.2
Build the workspace as Angular components and templates. Keep the active room
parameter handoff, participant state, audio/video rendering, alerts, and exit
behavior connected. Use MediasfuUICustomOverrides for smaller replacements.
Vue 1.3.2
Supply a Vue component through the package's customComponent contract. Keep
Vue renderers for remote audio/video and retain the current room parameter
updates. Use Vue uiOverrides for targeted surfaces.
React Native 2.5.2
Supply a React Native customComponent that consumes current room parameters.
Render native audio/video surfaces, permission errors, background transitions,
and cleanup. Do not reuse browser DOM components.
Expo 2.6.2
Use the Expo package's customComponent after native permissions and media
dependencies work in a development build. Retest the custom workspace on each
shipping target, not only Expo web.
Flutter 2.4.4
Use the Flutter custom workspace/component builder with the current
MediasfuParameters. Keep audio-only widgets mounted and retain the package's
permission, pagination, screen-share, alert, and exit flows.
Android 1.0.9
Build an app-owned Compose workspace driven by MediasfuGenericState. Use its
participant list and media actions rather than duplicating transport logic in
the composable.
Kotlin Multiplatform 1.0.9
Compose targets can build around MediasfuGenericState and
MediasfuUiOverrides. Other targets use their native presentation layer with
the KMP room state and operations.
Swift and Apple platforms 0.1.7
Build the product workspace in SwiftUI or UIKit and embed the hosted room view
controller where the live room belongs. The Apple package does not publish a
customComponent prop.
Unity 0.1.0-preview.2
The Unity scene is the custom workspace. Bind scene controls, participant
renderers, and status UI to MediaSfuClient events and methods. Dispose client
and media-backend resources when the scene exits.
Shared core 1.3.3
Your framework workspace is the only visible UI. You must render audio/video, participants, controls, alerts, collaboration surfaces, and cleanup around the shared-core state and methods.
Safe implementation order
- Validate the SDK's supplied or minimal room.
- Replace one visible surface.
- Test the affected operation with two users.
- Add permission denial, disconnect, and leave handling.
- Verify a second call on the same device.
See UI overrides by SDK and examples by SDK.