https://github.com/Cap-go/capacitor-realtimekit
Capacitor plugin to use Cloudflare realtime kit
https://github.com/Cap-go/capacitor-realtimekit
Last synced: about 1 month ago
JSON representation
Capacitor plugin to use Cloudflare realtime kit
- Host: GitHub
- URL: https://github.com/Cap-go/capacitor-realtimekit
- Owner: Cap-go
- License: mpl-2.0
- Created: 2025-10-27T06:06:47.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-31T23:11:47.000Z (about 1 month ago)
- Last Synced: 2026-02-01T10:57:26.379Z (about 1 month ago)
- Language: Swift
- Size: 530 KB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-capacitor - RealtimeKit - Cloudflare Calls integration for Capacitor apps with built-in UI for meetings. ([Capgo plugins](https://capgo.app/) / Video Calling & Real-time)
README
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
```bash
npm install @capgo/capacitor-realtimekit
npx cap sync
```
## Dependencies
This plugin uses the Cloudflare RealtimeKit SDK:
- **iOS**: [RealtimeKitCoreiOS](https://github.com/dyte-in/RealtimeKitCoreiOS) (automatically installed via Swift Package Manager)
- **Android**: `com.cloudflare.realtimekit:ui-android` version `0.2.2` (can be customized via gradle variable `realtimekitUiVersion`)
### Customizing Android RealtimeKit Version
In your app's `build.gradle`:
```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:
```xml
NSCameraUsageDescription
We need camera access for video calls
NSMicrophoneUsageDescription
We need microphone access for audio calls
NSPhotoLibraryUsageDescription
We need photo library access to share images
NSBluetoothPeripheralUsageDescription
We need Bluetooth access for audio routing
UIBackgroundModes
audio
voip
fetch
remote-notification
```
## Android Configuration
Add the following permissions to your app's `AndroidManifest.xml` file:
```xml
```
## API
* [`initialize()`](#initialize)
* [`startMeeting(...)`](#startmeeting)
* [`getPluginVersion()`](#getpluginversion)
* [Interfaces](#interfaces)
Capacitor RealtimeKit Plugin for Cloudflare Calls integration.
### initialize()
```typescript
initialize() => Promise
```
Initializes the RealtimeKit plugin before using other methods.
**Since:** 7.0.0
--------------------
### startMeeting(...)
```typescript
startMeeting(options: StartMeetingOptions) => Promise
```
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()
```typescript
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 |
