Skip to main content
@capgo/capacitor-stream-call Communication Open source

Streamcall Capacitor plugin

Integrate video calling and live streaming with Stream SDK for real-time communication

Install

bun add @capgo/capacitor-stream-call bunx cap sync
npm, pnpm or yarn
  • npm install @capgo/capacitor-stream-call
  • pnpm add @capgo/capacitor-stream-call
  • yarn add @capgo/capacitor-stream-call

Guide

How to use Streamcall in Capacitor

Using @capgo/capacitor-stream-call

Uses the https://getstream.io/ SDK to implement calling in Capacitor.

Install

bun add @capgo/capacitor-stream-call
bunx cap sync

bunx cap sync copies the plugin's native code into your native projects. Run it again after every plugin upgrade.

Import

import { StreamCall } from '@capgo/capacitor-stream-call';

API at a glance

Method Description
login Login to Stream Video service.
logout Logout from Stream Video service.
call Initiate a call to another user.
endCall End the current call.
joinCall Join an existing call.
setMicrophoneEnabled Enable or disable microphone.
setCameraEnabled Enable or disable camera.
enableBluetooth Enable bluetooth audio.
acceptCall Accept an incoming call.
rejectCall Reject an incoming call.
isCameraEnabled Check if camera is enabled.
getCallStatus Get the current call status.
getRingingCall Get the current ringing call.
toggleViews Cycle through the available video layouts.
setSpeaker Set speakerphone on.
switchCamera Switch camera.
getCallInfo Get detailed information about an active call including caller details.
setDynamicStreamVideoApikey Set a dynamic Stream Video API key that overrides the static one.
getDynamicStreamVideoApikey Get the currently set dynamic Stream Video API key.
getCurrentUser Get the current user's information.

Examples

login()

Login to Stream Video service.

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.login({
  token: 'your-token',
  userId: 'user-123',
  name: 'John Doe',
  apiKey: 'your-api-key'
});

logout()

Logout from Stream Video service.

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.logout();

call()

Initiate a call to another user.

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.call({
  userId: 'user-456',
  type: 'video',
  ring: true
});

endCall()

End the current call.

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.endCall();

joinCall()

Join an existing call.

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.joinCall({ callId: 'call001', callType: 'default' });

setMicrophoneEnabled()

Enable or disable microphone.

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.setMicrophoneEnabled({ enabled: false });

The table above lists the 20 core methods. Listener and version helpers, and the full contract of each method, are documented in the GitHub repository.

Listen to events

addListener returns a handle. Call handle.remove() when the screen unmounts, or StreamCall.removeAllListeners() to clear every listener.

Full reference

Keep going from Using @capgo/capacitor-stream-call

If you are using Using @capgo/capacitor-stream-call to plan native plugin work, connect it with @capgo/capacitor-stream-call for the implementation detail in @capgo/capacitor-stream-call, Getting Started for the implementation detail in Getting Started, Capgo Plugin Directory for the product workflow in Capgo Plugin Directory, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, and Adding or Updating Plugins for the implementation detail in Adding or Updating Plugins.

FAQ

Streamcall plugin FAQ

How do I install the Streamcall plugin in a Capacitor app?

Run "bun add @capgo/capacitor-stream-call" (or "npm install @capgo/capacitor-stream-call"), then run "bunx cap sync" so the iOS and Android projects pick up the native code. Import it from "@capgo/capacitor-stream-call" in your app code.

Does @capgo/capacitor-stream-call work with React, Vue and Angular?

Yes. Streamcall is a Capacitor package, so it works with any web framework that runs inside Capacitor, including Ionic, React, Vue, Angular, Svelte and plain JavaScript.

Which Capacitor version does @capgo/capacitor-stream-call support?

Capgo plugins follow Capacitor's major version: use the plugin major version that matches your Capacitor major version (for example plugin v8 with Capacitor 8). The compatibility table in the GitHub README lists the maintained versions.

Is @capgo/capacitor-stream-call free and open source?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-streamcall/ and the package is free to install from npm. Bug reports and pull requests are welcome.

Can I update code that uses Streamcall without an App Store review?

Installing or upgrading the plugin changes native code, so it needs a new store build. After that, JavaScript, HTML and CSS changes that call the plugin can ship instantly with Capgo live updates.

Ship Streamcall changes without waiting for app review

Once the plugin is in your store build, Capgo live updates push your JavaScript, HTML and CSS changes to users in minutes.

Start with Capgo