Getting Started
Kopieren Sie einen Setup-Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-incoming-call-kit`
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/incoming-call-kit/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.
Installation
InstallationsanleitungSie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten Ihrem KI-Tool hinzu, indem Sie den folgenden Befehl ausführen:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsBenutzen Sie dann die folgende Anweisung:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-incoming-call-kit` plugin in my project.Wenn Sie eine manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die darunter angegebenen Plattform-spezifischen Anweisungen befolgen.
-
Install die Pakete
Terminalfenster bun add @capgo/capacitor-incoming-call-kit -
Synchronisiere native Projekte
Terminalfenster bunx cap sync -
Wähle deine Klingelquelle Entscheide, ob das eingehende Anrufereignis von deinem Backend, einem SDK wie Twilio oder Stream, oder einem nativen Push-Pfad wie FCM oder PushKit kommt.
Wie die Integration zusammenpasst
Abschnitt mit dem Titel “Wie die Integration zusammenpasst”Diese Erweiterung besitzt nur die native Anrufpräsentation. Deine App besitzt immer noch den Transport, die Authentifizierung und die tatsächliche Medien-Sitzung.
Die häufigste Produktionsmuster ist:
- Ihr Backend oder Ihr Anruf SDK sendet ein Klingelereignis.
- Ihr App ruft
showIncomingCall(). - Der Plugin präsentiert native Eingangsanruf-UI.
callAcceptederzählt Ihrem App, dem tatsächlichen Raum oder VoIP-Sitzung beizutreten.callDeclined,callEndedodercallTimedOuterzählt Ihrem App, die remote State zu bereinigen.
Minimal Integration
Section titled “Minimal integration”import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();await IncomingCallKit.requestFullScreenIntentPermission();
await IncomingCallKit.addListener('callAccepted', async ({ call }) => { console.log('Accepted', call.callId, call.extra); // Start or join your real call session here.});
await IncomingCallKit.addListener('callDeclined', ({ call }) => { console.log('Declined', call.callId); // Tell your backend or SDK that the user declined.});
await IncomingCallKit.addListener('callTimedOut', ({ call }) => { console.log('Timed out', call.callId); // Clear ringing state in your backend or SDK.});
await IncomingCallKit.showIncomingCall({ callId: 'call-42', callerName: 'Ada Lovelace', handle: '+39 555 010 020', appName: 'Capgo Phone', hasVideo: true, timeoutMs: 45_000, extra: { roomId: 'room-42', callerUserId: 'user_ada', }, android: { channelId: 'calls', channelName: 'Incoming Calls', showFullScreen: true, }, ios: { handleType: 'phoneNumber', },});Wichtige Optionen
: stabiler Identifier, der später mitcallId: stabiler Identifier wird später wieder verwendetendCall()timeoutMs: Best-Effort Antwortzeitenüberschreitungextra: beliebige JSON-Daten werden im Listener-Payload zurückgegebenandroid.channelIdundandroid.channelName: Android-Notification-Kanal-Einstellungandroid.showFullScreen: Anfrage zum Android-Full-Screen-Eingangsanruf-Aktivitätios.handleType: wählengeneric,phoneNumber, oderemailAddress: für CallKit
: Aktive Anrufe verwalten
Section titled “Managing active calls”const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});: Ereignismodell
Abschnitt mit dem Titel “Event-Modell”incomingCallDisplayedDie native UI wurde erfolgreich angezeigt.callAcceptedDer Benutzer wurde vom native UI akzeptiert.callDeclined: Der Benutzer hat vor dem Beitritt abgelehntcallEnded: Ihre App oder die Plattform beendete die verfolgte AnrufungcallTimedOut: Die Anrufung blieb unbeantwortet bistimeoutMs
: Jedes Ereignis trägt das normalisierte call : und Ihr Originalobjekt. extra object.
: Abschnitt mit dem Titel “Plattformhinweise”
Section titled “Platform notes”- context iOS-Leitfaden wirken Sie CallKit vor der Verkabelung in einen PushKit- oder APNs-Fluss.
- Lesen Sie den Android-Anleitung vor der Verwendung von Vollbild-Intents auf Android 14 und später.
- Web wird nicht unterstützt.
Web wird nicht unterstützt.
Section titled “Keep going from Getting Started”Wenn Sie Capgo verwenden Getting Started um das Dashboard und die API-Operationen zu planen, verbinden Sie es mit Verwendung von @capgo/capacitor-eingehendes-Anruf-Kit Für die native Fähigkeit in @capgo/capacitor-eingehende-Anruf-Kit, API Übersicht Für die Implementierungsdetails in API Übersicht, Einführung Für die Implementierungsdetails in Einführung, API Schlüssel Für die Implementierungsdetails in API Schlüssel, und Geräte Für die Implementierungsdetails in Geräte.