Anfang
Eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
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.
Installieren
Abschnitt mit dem Titel „Installieren“Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihrer AI-Werkzeug mit der folgenden Befehl hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann den folgenden Prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-stream-call` plugin in my project.Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den unten angegebenen Plattform-spezifischen Anweisungen:
bun add @capgo/capacitor-stream-callbunx cap syncimport { StreamCall } from '@capgo/capacitor-stream-call';API Übersicht
Abschnitt mit dem Titel 'API Übersicht'Anmeldung bei Stream Video-Dienst
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.login({ token: 'your-token', userId: 'user-123', name: 'John Doe', apiKey: 'your-api-key'});Abmeldung vom Stream Video-Dienst
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.logout();Einen Anruf an einen anderen Benutzer starten
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.call({ userId: 'user-456', type: 'video', ring: true});Den aktuellen Anruf beenden
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.endCall();Ein bestehenden Anruf beitreten
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.joinCall({ callId: 'call001', callType: 'default' });setMicrophoneEnabled
Abschnitt mit dem Titel “setMicrophoneEnabled”Mikrofon ein- oder ausschalten
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setMicrophoneEnabled({ enabled: false });setCameraEnabled
Abschnitt mit dem Titel “setCameraEnabled”Kamera aktivieren oder deaktivieren
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setCameraEnabled({ enabled: false });enableBluetooth
Abschnitt mit dem Titel “enableBluetooth”Bluetooth-Audio aktivieren
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.enableBluetooth();acceptCall
Abschnitt mit dem Titel “acceptCall”Einen eingehenden Anruf annehmen
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.acceptCall();rejectCall
Abschnitt mit dem Titel “rejectCall”Einen eingehenden Anruf ablehnen
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.rejectCall();isCameraEnabled
Abschnitt mit dem Titel “isCameraEnabled”Überprüfen Sie, ob die Kamera aktiviert ist
import { StreamCall } from '@capgo/capacitor-stream-call';
const isCameraEnabled = await StreamCall.isCameraEnabled();console.log(isCameraEnabled);getCallStatus
Abschnitt mit dem Titel „getCallStatus“Ermitteln Sie den aktuellen Anrufstatus
import { StreamCall } from '@capgo/capacitor-stream-call';
const callStatus = await StreamCall.getCallStatus();console.log(callStatus);getRingingCall
Abschnitt mit dem Titel „getRingingCall“Ermitteln Sie den aktuellen Ringanruf
import { StreamCall } from '@capgo/capacitor-stream-call';
const ringingCall = await StreamCall.getRingingCall();console.log(ringingCall);toggleViews
Abschnitt mit dem Titel „toggleViews“Zyklisch durch die verfügbaren Videolayouts navigieren
import { StreamCall } from '@capgo/capacitor-stream-call';
const { newLayout } = await StreamCall.toggleViews();console.log(`Layout switched to ${newLayout}`);setSpeaker
Abschnitt mit dem Titel „setSpeaker“Sprecherfunktion einschalten
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setSpeaker({ name: 'speaker' });switchCamera
Abschnitt mit dem Titel “Kamera wechseln”Kamera wechseln
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.switchCamera({ camera: 'back' });Detaillierte Informationen über einen aktiven Anruf einschließlich Angaben zum Anrufer abrufen
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.getCallInfo({} as { callId: string });setDynamicStreamVideoApikey
Abschnitt mit dem Titel “Dynamische Stream-Videokennung setzen”Set a dynamic Stream Video API key that overrides the static one
import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setDynamicStreamVideoApikey({ apiKey: 'new-api-key' });getDynamicStreamVideoApikey
Abschnitt mit dem Titel “Dynamische Stream-Videokennung abrufen”Ermitteln Sie die derzeit gesetzte dynamische Stream Video API Schlüssel
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
Abschnitt mit dem Titel „getCurrentUser“Ermitteln Sie Informationen zum aktuellen Benutzer
import { StreamCall } from '@capgo/capacitor-stream-call';
const currentUser = await StreamCall.getCurrentUser();console.log(currentUser);Typenverweis
Abschnitt mit dem Titel „Typenverweis“LoginOptions
Abschnitt mit dem Titel „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
Abschnitt mit dem Titel „SuccessResponse“export interface SuccessResponse { /** Whether the operation was successful */ success: boolean; callId?: string;}CallOptions
Abschnitt mit dem Titel „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
Abschnitt mit dem Titel „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
Abschnitt mit dem Titel „IncomingCallPayload“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
Abschnitt mit dem Titel „CameraEnabledResponse“export interface CameraEnabledResponse { enabled: boolean;}StreamCallLayout
Abschnitt mit dem Titel „StreamCallLayout“export type StreamCallLayout = 'grid' | 'spotlight' | 'dynamic' | 'fullScreen' | 'fullscreen';DynamicApiKeyResponse
Abschnitt mit dem Titel „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
Abschnitt mit dem Titel „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
Abschnitt mit dem Titel „PushNotificationsConfig“export interface PushNotificationsConfig { pushProviderName: string; voipProviderName: string;}export type CallType = 'default' | 'audio' | 'audio_room' | 'livestream' | 'development';CallState
Abschnitt mit dem Titel „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';Quelle der Wahrheit
Abschnitt mit dem Titel „Quelle der Wahrheit“Diese Seite wurde aus dem Plugin generiert. src/definitions.ts. Wenn sich die öffentliche API upstream ändert, führen Sie die Synchronisierung erneut durch.
Weiter von Getting Started gehen
Abschnitt mit dem Titel “Weitermachen von Getting Started”Wenn Sie "Getting Started" verwenden Um das Dashboard und die __CAPGO_KEEP_0__-Operationen zu planen, verbinden Sie es mit Mit @API/__CAPGO_KEEP_1__-stream-call für die native Fähigkeit in Mit @API/__CAPGO_KEEP_1__-stream-call Using @capgo/capacitor-stream-call for the native capability in Using @capgo/capacitor-stream-call, API Overview for the implementation detail in API Overview, __CAPGO_KEEP_0__-Schlüssel Für die Implementierungsdetails in __CAPGO_KEEP_0__-Schlüssel API-Schlüssel API-Übersicht Geräte für die Implementierungsdetails in Geräte.