Iniziare
Copia un prompt di installazione 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.
Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo abilità al tuo strumento AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUsa poi il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-stream-call` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo platform di seguito:
bun add @capgo/capacitor-stream-callbunx cap syncimport { StreamCall } from '@capgo/capacitor-stream-call';API Panoramica
Sezione intitolata “API Panoramica”Accedi al servizio di streaming video
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.login({ token: 'your-token', userId: 'user-123', name: 'John Doe', apiKey: 'your-api-key'});Disconnetti dal servizio di streaming video
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.logout();Inizia una chiamata con un altro utente
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.call({ userId: 'user-456', type: 'video', ring: true});Interrompi la chiamata in corso
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.endCall();joinCall
Sezione intitolata “joinCall”Unisciti a una chiamata esistente
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.joinCall({ callId: 'call001', callType: 'default' });setMicrophoneEnabled
Sezione intitolata “setMicrophoneEnabled”Abilita o disabilita il microfono
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setMicrophoneEnabled({ enabled: false });setCameraEnabled
Sezione intitolata “setCameraEnabled”Abilita o disabilita la camera
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setCameraEnabled({ enabled: false });enableBluetooth
Sezione intitolata “enableBluetooth”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 “èAbilitatoLaCamera”Verifica se la camera è abilitata
import { StreamCall } from '@capgo/capacitor-stream-call';
const isCameraEnabled = await StreamCall.isCameraEnabled();console.log(isCameraEnabled);getCallStatus
Sezione intitolata “ottieneLoStatoDellaChiamata”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 corrente in allarme
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”Scegli la camera
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.switchCamera({ camera: 'back' });getCallInfo
Sezione 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
Sezione intitolata “setDynamicStreamVideoApikey”Imposta una chiave di flusso video dinamico 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 dinamico 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 “Riferimento di 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 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 abilita camera”export interface CameraEnabledResponse { enabled: boolean;}StreamCallLayout
Sezione intitolata “Layout chiamata in streaming”export type StreamCallLayout = 'grid' | 'spotlight' | 'dynamic' | 'fullScreen' | 'fullscreen';DynamicApiKeyResponse
Sezione intitolata “Risposta chiave API 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. src/definitions.ts. Riavvia la sincronizzazione quando i dati pubblici API cambiano in fase di sviluppo.
Continua da Iniziare
Sezione intitolata “Continua da Iniziare”Se stai utilizzando Iniziare per pianificare il dashboard e le API operazioni, connettilo con Usando @capgo/capacitor-stream-call per la capacità nativa in Usando @capgo/capacitor-stream-call, Panoramica di API per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli di implementazione in Introduzione, Chiavi di API per i dettagli di implementazione in Chiavi di API, e Dispositivi per i dettagli di implementazione in Dispositivi.