Getting Started
Copia una riga di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-stream-call`, `@capgo/capacitor-streamcall`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/streamcall/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installa
Sezione intitolata “Installa”Puoi utilizzare la nostra configurazione assistita dall'IA per installare il plugin. Aggiungi le Capgo competenze al tuo strumento di AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi utilizza la seguente richiesta:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-stream-call` plugin in my project.Se preferisci l'installazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche per la piattaforma riportate di seguito:
bun add @capgo/capacitor-stream-callbunx cap syncimport { StreamCall } from '@capgo/capacitor-stream-call';API Panoramica
Sottosezione intitolata “API Panoramica”Accedi al servizio di video Stream
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.login({ token: 'your-token', userId: 'user-123', name: 'John Doe', apiKey: 'your-api-key'});Disconnettersi dal servizio di video Stream
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.logout();Avvia una chiamata con un altro utente
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.call({ userId: 'user-456', type: 'video', ring: true});Termina la chiamata in corso
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.endCall();Unisciti a una chiamata esistente
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.joinCall({ callId: 'call001', callType: 'default' });setMicrophoneEnabled
Sezione intitolata “abilitaMicrofono”Abilita o disabilita il microfono
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setMicrophoneEnabled({ enabled: false });setCameraEnabled
Impostazione della camera abilitataAbilita o disabilita la camera
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setCameraEnabled({ enabled: false });enableBluetooth
Sezione intitolata “abilita l’audio Bluetooth”Abilita l’audio Bluetooth
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.enableBluetooth();acceptCall
Sezione intitolata “accettaChiamata”Accetta una chiamata in arrivo
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.acceptCall();rejectCall
Sezione intitolata “rifiutaChiamata”Rifiuta una chiamata in arrivo
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.rejectCall();isCameraEnabled
Sezione intitolata “èAbilitatoCamera”Verifica se la camera è abilitata
import { StreamCall } from '@capgo/capacitor-stream-call';
const isCameraEnabled = await StreamCall.isCameraEnabled();console.log(isCameraEnabled);getCallStatus
Sezione intitolata “ottieneStatoChiamata”Ottieni lo stato della chiamata corrente
import { StreamCall } from '@capgo/capacitor-stream-call';
const callStatus = await StreamCall.getCallStatus();console.log(callStatus);getRingingCall
Sezione intitolata “getRingingCall”Ottieni la chiamata in corso
import { StreamCall } from '@capgo/capacitor-stream-call';
const ringingCall = await StreamCall.getRingingCall();console.log(ringingCall);toggleViews
Sezione intitolata “toggleViews”Cicla attraverso le disposizioni video disponibili
import { StreamCall } from '@capgo/capacitor-stream-call';
const { newLayout } = await StreamCall.toggleViews();console.log(`Layout switched to ${newLayout}`);setSpeaker
Sezione intitolata “setSpeaker”Attiva il telefono da parlatorio
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setSpeaker({ name: 'speaker' });switchCamera
Sezione intitolata “switchCamera”Svuota la telecamera
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.switchCamera({ camera: 'back' });getCallInfo
Sezione intitolata “getCallInfo”Ottenere informazioni dettagliate su una chiamata attiva, compresi i dettagli del chiamante
import { StreamCall } from '@capgo/capacitor-stream-call';
const result = await StreamCall.getCallInfo({ callId: 'call-id-123' });console.log(result);setDynamicStreamVideoApikey
Sezione intitolata “setDynamicStreamVideoApikey”Impostare una chiave Stream Video dinamica API che sovrascrive quella statica
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setDynamicStreamVideoApikey({ apiKey: 'new-api-key' });getDynamicStreamVideoApikey
Sezione intitolata “getDynamicStreamVideoApikey”Ottenere la chiave Stream Video dinamica attualmente impostata API
import { StreamCall } from '@capgo/capacitor-stream-call';
const result = await StreamCall.getDynamicStreamVideoApikey();if (result.hasDynamicKey) { console.log('Dynamic API key:', result.apiKey);} else { console.log('Using static API key from resources');}getCurrentUser
Sezione intitolata “getCurrentUser”Ottenere le informazioni dell'utente corrente
import { StreamCall } from '@capgo/capacitor-stream-call';
const currentUser = await StreamCall.getCurrentUser();console.log(currentUser);Riferimento al tipo
Sezione intitolata “Riferimento al tipo”LoginOptions
Sezione intitolata “LoginOptions”export interface LoginOptions { /** Stream Video API token */ token: string; /** User ID for the current user */ userId: string; /** Display name for the current user */ name: string; /** Optional avatar URL for the current user */ imageURL?: string; /** Stream Video API key */ apiKey: string; /** ID of the HTML element where the video will be rendered */ magicDivId?: string; pushNotificationsConfig?: PushNotificationsConfig;}SuccessResponse
Sezione intitolata “SuccessResponse”export interface SuccessResponse { /** Whether the operation was successful */ success: boolean; callId?: string;}CallOptions
Sezione intitolata “CallOptions”export interface CallOptions { /** User ID of the person to call */ userIds: string[]; /** Type of call, defaults to 'default' */ type?: CallType; /** Whether to ring the other user, defaults to true */ ring?: boolean; /** Team name to call */ team?: string; /** Whether to start the call with video enabled, defaults to false */ video?: boolean; /** Custom data to be passed to the call */ custom?: Record< string, | string | boolean | number | null | Record<string, string | boolean | number | null> | string[] | boolean[] | number[] >;}CallEvent
Sezione intitolata “CallEvent”export interface CallEvent { /** ID of the call */ callId: string; /** Current state of the call */ state: CallState; /** User ID of the participant in the call who triggered the event */ userId?: string; /** Reason for the call state change, if applicable */ reason?: string; /** Information about the caller (for incoming calls) */ caller?: CallMember; /** List of call members */ members?: CallMember[];
custom?: Record< string, | string | boolean | number | null | Record<string, string | boolean | number | null> | string[] | boolean[] | number[] >;
count?: number;}IncomingCallPayload
Sezione intitolata “Payload di Chiamata Ingressante”export interface IncomingCallPayload { /** Full call CID (e.g. default:123) */ cid: string; /** Event type (currently always "incoming") */ type: 'incoming'; /** Information about the caller */ caller?: CallMember; /** Custom data to be passed to the call */ custom?: Record< string, | string | boolean | number | null | Record<string, string | boolean | number | null> | string[] | boolean[] | number[] >;
/** * Get the native Capacitor plugin version * * @returns {Promise<{ id: string }>} an Promise with version for this device * @throws An error if the something went wrong */ getPluginVersion(): Promise<{ version: string }>;}CameraEnabledResponse
Sezione intitolata “CameraEnabledResponse”export interface CameraEnabledResponse { enabled: boolean;}StreamCallLayout
Sezione intitolata “StreamCallLayout”export type StreamCallLayout = 'grid' | 'spotlight' | 'dynamic' | 'fullScreen' | 'fullscreen';DynamicApiKeyResponse
Sezione intitolata “DynamicApiKeyResponse”export interface DynamicApiKeyResponse { /** The dynamic API key if set, null if not */ apiKey: string | null; /** Whether a dynamic key is currently set */ hasDynamicKey: boolean;}CurrentUserResponse
Sezione intitolata “CurrentUserResponse”export interface CurrentUserResponse { /** User ID of the current user */ userId: string; /** Display name of the current user */ name: string; /** Avatar URL of the current user */ imageURL?: string; /** Whether the user is currently logged in */ isLoggedIn: boolean;}PushNotificationsConfig
Sezione intitolata “PushNotificationsConfig”export interface PushNotificationsConfig { pushProviderName: string; voipProviderName: string;}CallType
Sezione intitolata “CallType”export type CallType = 'default' | 'audio' | 'audio_room' | 'livestream' | 'development';CallState
Sezione intitolata “CallState”export type CallState = // User-facing states | 'idle' | 'ringing' | 'joining' | 'reconnecting' | 'joined' | 'leaving' | 'left' // Event-specific states | 'created' | 'session_started' | 'rejected' | 'participant_counts' | 'missed' | 'accepted' | 'ended' | 'camera_enabled' | 'camera_disabled' | 'speaker_enabled' | 'speaker_disabled' | 'microphone_enabled' | 'microphone_disabled' | 'outgoing_call_ended' | 'unknown';Punto di riferimento
Sezione intitolata “Punto di riferimento”Questa pagina è generata dal plugin’s src/definitions.ts. Re-run the sync when the public API changes upstream.
Continua da qui: Iniziare
Sezione intitolata “Continua da qui: Iniziare”Se stai utilizzando Getting Started per pianificare dashboard e API operazioni, connettilo con Utilizza @capgo/capacitor-stream-call per la capacità nativa in Utilizzo di @capgo/capacitor-stream-call, API Panoramica per il dettaglio di implementazione in API Panoramica, Introduzione per il dettaglio di implementazione in Introduzione, API Chiavi per il dettaglio di implementazione in API Chiavi, e Dispositivi per il dettaglio di implementazione in Dispositivi.