@capgo/capacitor-realtimekit
v8.0.2
Published
Cloudflare Calls integration for Capacitor apps with built-in UI for meetings.
Maintainers
Readme
capacitor-realtimekit
Cloudflare Calls integration for Capacitor apps with built-in UI for meetings.
Documentation
The most complete doc is available here: https://capgo.app/docs/plugins/realtimekit/
Install
npm install @capgo/capacitor-realtimekit
npx cap syncDependencies
This plugin uses the Cloudflare RealtimeKit SDK:
- iOS: RealtimeKitCoreiOS (automatically installed via Swift Package Manager)
- Android:
com.cloudflare.realtimekit:ui-androidversion0.2.2(can be customized via gradle variablerealtimekitUiVersion)
Customizing Android RealtimeKit Version
In your app's build.gradle:
buildscript {
ext {
realtimekitUiVersion = '0.2.2' // or your desired version
}
}Platform Support
- iOS: ✅ Supported (iOS 14.0+)
- Android: ✅ Supported (API 24+)
- Web: ❌ Not supported (native only)
iOS Configuration
Add the following to your app's Info.plist file:
<key>NSCameraUsageDescription</key>
<string>We need camera access for video calls</string>
<key>NSMicrophoneUsageDescription</key>
<string>We need microphone access for audio calls</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>We need photo library access to share images</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>We need Bluetooth access for audio routing</string>
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>voip</string>
<string>fetch</string>
<string>remote-notification</string>
</array>Android Configuration
Add the following permissions to your app's AndroidManifest.xml file:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />API
Capacitor RealtimeKit Plugin for Cloudflare Calls integration.
initialize()
initialize() => Promise<void>Initializes the RealtimeKit plugin before using other methods.
Since: 7.0.0
startMeeting(...)
startMeeting(options: StartMeetingOptions) => Promise<void>Start a meeting using the built-in UI. Only available on Android and iOS.
| Param | Type | Description |
| ------------- | ------------------------------------------------------------------- | --------------------------------------- |
| options | StartMeetingOptions | - Configuration options for the meeting |
Since: 7.0.0
getPluginVersion()
getPluginVersion() => Promise<{ version: string; }>Get the native Capacitor plugin version.
Returns: Promise<{ version: string; }>
Since: 7.0.0
Interfaces
StartMeetingOptions
Configuration options for starting a meeting.
| Prop | Type | Description | Default | Since |
| ----------------- | -------------------- | ------------------------------------------------------------------------------------------------------ | ----------------- | ----- |
| authToken | string | Authentication token for the participant. This token is required to join the Cloudflare Calls meeting. | | 7.0.0 |
| enableAudio | boolean | Whether to join with audio enabled. Default is true. | true | 7.0.0 |
| enableVideo | boolean | Whether to join with video enabled. Default is true. | true | 7.0.0 |
