Getting Started
Kopieren Sie einen Einrichtungshinweis mit den Installationsanweisungen und der vollständigen Markdown-Guideline für dieses 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
Abschnitt mit dem Titel „Installation“Sie können unser AI-gestütztes Setup verwenden, um den Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten zu Ihrem AI-Tool hinzu, indem Sie die folgende Befehl ausführen:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann die folgende Anfrage:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-incoming-call-kit` plugin in my project.Wenn Sie die manuelle Installation bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den unten aufgeführten Plattform-spezifischen Anweisungen:
-
Installieren Sie das Paket
Terminal-Fenster bun add @capgo/capacitor-incoming-call-kit -
Synchronisiere native Projekte
Terminal-Fenster bunx cap sync -
Wählen Sie Ihre Klingelquelle Entscheiden Sie, ob das eingehende Anrufereignis von Ihrem Backend, einem SDK wie Twilio oder Stream, oder einem nativen Push-Pfad wie FCM oder PushKit stammt.
Wie sich die Integration zusammensetzt
Abschnitt mit dem Titel “Wie sich die Integration zusammensetzt”Diese Erweiterung besitzt nur die native Anrufpräsentation. Ihr App besitzt jedoch den Transport, die Authentifizierung und die tatsächliche Medien-Sitzung.
Die häufigste Produktionsmuster ist:
- Ihr Backend oder Ihr Aufruf SDK sendet ein Klingelereignis.
- Ihre App ruft
showIncomingCall(). - Der Plugin präsentiert eine native Eingangsanruf-UI.
callAcceptederzählt Ihrer App, sich dem tatsächlichen Raum oder der VoIP-Sitzung anzuschließen.callDeclined,callEnded, odercallTimedOuterzählt Ihrer App, das Remote-Zustand zu bereinigen.
Minimaler Aufbau
Abschnitt mit dem Titel „Minimaler Aufbau“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
Abschnitt mit dem Titel „Wichtige Optionen“callId: stabiler Identifier, der später wieder verwendet wird.endCall()timeoutMs: bestmöglicher Zeitraum ohne Antwort.extra: beliebige JSON-Werte, die im Listener-Payloads zurückgegeben werden.android.channelIdundandroid.channelName: Android-Notifikationskanal-Einstellungandroid.showFullScreen: fordert die Android-Full-Screen-Eingangsanrufaktivität anios.handleType: wählengeneric,phoneNumber, oderemailAddresszur CallKit
Aktive Anrufe verwalten
Sektion mit dem Titel „Aktive Anrufe verwalten“const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Event-Modell
Sektion mit dem Titel „Event-Modell“incomingCallDisplayed: Die native Benutzeroberfläche wurde erfolgreich angezeigtcallAccepted: Benutzer akzeptiert aus der native UIcallDeclined: Benutzer ablehnte vor dem BeitrittcallEnded: Ihre App oder die Plattform beendete das verfolgte GesprächcallTimedOut: Das Gespräch blieb unbeantwortet bistimeoutMs
: Jeder Ereignis trägt das normalisierte call : und Ihr Originalobjekt. extra : Plattformhinweise
: Abschnitt mit dem Titel “Plattformhinweise”
: Lesen Sie das- context HTML text fragment from a longer Capgo UI string (parent key `read_the_style_guide`). Page/area: Capgo marketing website. Role: Website copy sentence. Seen in: page contributing.astro. Message key `read_the_style_guide` (Read The Style Guide). : iOS-Leitfaden zur Einbindung von CallKit in einen PushKit- oder APNs-Flow.
- Lesen Sie das Android-Anleitung vor der Verwendung von Vollbild-Intents auf Android 14 und später.
- Web wird nicht unterstützt.
Fortsetzen Sie mit Getting Started
Abschnitt: Fortsetzen Sie mit Getting StartedWenn Sie das Getting Started zur Planung von Dashboard und API-Operationen verwenden, verbinden Sie es mit Verwenden Sie @capgo/capacitor-incoming-call-kit für die native Fähigkeit in Verwenden Sie @capgo/capacitor-incoming-call-kit, API-Übersicht zur Implementierungsdetail in API Übersicht Einführung zur Implementierungsdetail in Einführung API Schlüssel zur Implementierungsdetail in API Schlüssel und Geräte zur Implementierungsdetail in Geräte.