Inizia a utilizzare
Copia un prompt di configurazione con le istruzioni 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.
Installazione
Sottosezione intitolata “Installazione”È possibile 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 syncImporta
Sezione intitolata “Importa”import { StreamCall } from '@capgo/capacitor-stream-call';API Panoramica
Sezione 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});Chiudi la chiamata corrente
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
Sottosezione intitolata “abilitaMicrofono”Abilita o disabilita il microfono
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setMicrophoneEnabled({ enabled: false });setCameraEnabled
Sottosezione intitolata “setCameraEnabled”Abilita o disabilita la camera
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setCameraEnabled({ enabled: false });enableBluetooth
Sottosezione intitolata “abilitaBluetooth”Abilita l'audio Bluetooth
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.enableBluetooth();Accetta una chiamata in arrivo
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.acceptCall();Rifiuta una chiamata in arrivo
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.rejectCall();isCameraEnabled
Sottosezione intitolata “isCameraEnabled”Controlla se la camera è abilitata
import { StreamCall } from '@capgo/capacitor-stream-call';
const isCameraEnabled = await StreamCall.isCameraEnabled();console.log(isCameraEnabled);getCallStatus
Sottosezione intitolata “getCallStatus”Ottieni lo stato della chiamata corrente
import { StreamCall } from '@capgo/capacitor-stream-call';
const callStatus = await StreamCall.getCallStatus();console.log(callStatus);getRingingCall
Sottosezione intitolata “getRingingCall”Ottieni la chiamata in arrivo corrente
import { StreamCall } from '@capgo/capacitor-stream-call';
const ringingCall = await StreamCall.getRingingCall();console.log(ringingCall);toggleViews
Sottosezione intitolata “toggleViews”Passa attraverso le disponibili impostazioni di layout video
import { StreamCall } from '@capgo/capacitor-stream-call';
const { newLayout } = await StreamCall.toggleViews();console.log(`Layout switched to ${newLayout}`);setSpeaker
Sottosezione intitolata “setSpeaker”Attiva il speakerphone
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setSpeaker({ name: 'speaker' });switchCamera
Sottosezione intitolata “switchCamera”Passa alla camera
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.switchCamera({ camera: 'back' });getCallInfo
Sottosezione intitolata “getCallInfo”Ottieni informazioni dettagliate su una chiamata attiva, compresi i dettagli del chiamante
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.getCallInfo({} as { callId: string });setDynamicStreamVideoApikey
Sottosezione intitolata “setDynamicStreamVideoApikey”Imposta una chiave di flusso 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”Ottieni la chiave di flusso 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”Ottieni le informazioni dell'utente corrente
import { StreamCall } from '@capgo/capacitor-stream-call';
const currentUser = await StreamCall.getCurrentUser();console.log(currentUser);Riferimento di tipo
Sezione intitolata “Type Reference”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 “Risposta di Successo”export interface SuccessResponse { /** Whether the operation was successful */ success: boolean; callId?: string;}CallOptions
Sezione intitolata “Opzioni di chiamata”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[] >;}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 in arrivo”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 “Risposta di abilitazione della camera”export interface CameraEnabledResponse { enabled: boolean;}StreamCallLayout
Sezione intitolata “Layout di chiamata in streaming”export type StreamCallLayout = 'grid' | 'spotlight' | 'dynamic' | 'fullScreen' | 'fullscreen';DynamicApiKeyResponse
Sezione intitolata “Risposta ApiKey Dinamica”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 “Risposta Utente Corrente”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 “Configurazione Notifiche Push”export interface PushNotificationsConfig { pushProviderName: string; voipProviderName: string;}export type CallType = 'default' | 'audio' | 'audio_room' | 'livestream' | 'development';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';Fonte di Verità
Sezione intitolata “Fonte di Verità”Questa pagina è generata dal plugin's src/definitions.tsRiepilogare la sincronizzazione quando le informazioni pubbliche API cambiano in fase di sviluppo.
Continua da Inizia a utilizzare
Sezione intitolata “Continua da Inizia a utilizzare”Se stai utilizzando Inizia a utilizzare per pianificare dashboard e API operazioni, connettilo con Utilizza @capgo/capacitor-stream-call per la capacità nativa in Utilizza @capgo/capacitor-stream-call, API Overview per i dettagli di implementazione in API Overview, Introduzione per i dettagli di implementazione in Introduzione, API Chiavi per i dettagli di implementazione in API Chiavi, e Dispositivi per i dettagli di implementazione in Dispositivi.