@capgo/capacitor-realtimekit
v8.0.14
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/
Compatibility
| Plugin version | Capacitor compatibility | Maintained | | -------------- | ----------------------- | ---------- | | v8.*.* | v8.*.* | ✅ | | v7.*.* | v7.*.* | On demand | | v6.*.* | v6.*.* | ❌ | | v5.*.* | v5.*.* | ❌ |
Note: The major version of this plugin follows the major version of Capacitor. Use the version that matches your Capacitor installation (e.g., plugin v8 for Capacitor 8). Only the latest major version is actively maintained.
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 |
