Cloudflare Calls integration for Capacitor apps with built-in UI for meetings.
The most complete doc is available here: https://capgo.app/docs/plugins/realtimekit/
npm install @capgo/capacitor-realtimekit
npx cap syncThis 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)
In your app's build.gradle:
buildscript {
ext {
realtimekitUiVersion = '0.2.2' // or your desired version
}
}- iOS: ✅ Supported (iOS 14.0+)
- Android: ✅ Supported (API 24+)
- Web: ❌ Not supported (native only)
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>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" />Capacitor RealtimeKit Plugin for Cloudflare Calls integration.
initialize() => Promise<void>Initializes the RealtimeKit plugin before using other methods.
Since: 7.0.0
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() => Promise<{ version: string; }>Get the native Capacitor plugin version.
Returns: Promise<{ version: string; }>
Since: 7.0.0
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 |
