Getting Started
Copia un prompt di configurazione 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-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.
L'installazione
Sottosezione intitolata “L'installazione”Puoi 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 il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-incoming-call-kit` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo platform qui sotto:
-
Installa il pacchetto
Finestra del terminale bun add @capgo/capacitor-incoming-call-kit -
Sincronizza progetti nativi
Finestra del terminale bunx cap sync -
Scegli la tua fonte di suono Decidi se l'evento di chiamata in arrivo proviene dal tuo backend, un SDK come Twilio o Stream, o da un percorso di push nativo come FCM o PushKit.
Come si abbinano le integrazioni
Sezione intitolata “Come si abbinano le integrazioni”Questo plugin gestisce solo la presentazione di chiamate in arrivo native. La tua app mantiene il controllo sul trasporto, l'autenticazione e la sessione media effettiva.
Il modello di produzione comune è:
- Il tuo backend o il chiamante SDK emette un evento di squillo.
- La tua app chiama
showIncomingCall(). - Il plugin presenta un'interfaccia di chiamata in arrivo nativa.
callAcceptedinsegna alla tua app di unirsi alla stanza o alla sessione VoIP effettiva.callDeclined,callEndedocallTimedOutinsegna alla tua app di pulire lo stato remoto.
Integrazione minima
Sezione intitolata “Integrazione minima”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', },});Opzioni importanti
Sezione intitolata “Opzioni importanti”callId: identificatore stabile riutilizzato in seguito conendCall()timeoutMsTimeout di attesa senza rispostaextra: JSON arbitrario riprodotto indietro nei payload degli ascoltatoriandroid.channelIdeandroid.channelName: regolazione del canale di notifica Androidandroid.showFullScreen: richiede l'attività di chiamata in anteprima a schermo intero Androidios.handleType: scegligeneric,phoneNumber, oemailAddressper CallKit
Gestione delle chiamate attive
Sezione intitolata “Gestione delle chiamate attive”const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Modello di evento
Sezione intitolata “Modello di evento”incomingCallDisplayedLa UI nativa è stata visualizzata con successo.callAccepted: l'utente ha accettato dall'interfaccia nativacallDeclined: l'utente ha rifiutato prima di unirsicallEnded: il tuo app o la piattaforma ha interrotto la chiamata tracciatacallTimedOut: la chiamata è rimasta senza risposta fino atimeoutMs
Ogni evento porta il valore normalizzato call : Osservazioni della piattaforma extra object.
: Leggi il
Nota della piattaforma- Leggi il : Guida iOS prima di collegare CallKit in un flusso PushKit o APNs.
- Leggi il Guida per Android prima di affidarti agli intenti a schermo intero su Android 14 e successive versioni.
- Non è supportato.
Prosegui dalla Guida Iniziale
Section titled “Keep going from Getting Started”Se stai utilizzando per pianificare il pannello di controllo e le operazioni __CAPGO_KEEP_0__, connettilo con per pianificare il dashboard e le API operazioni, connettilo con Utilizzando @capgo/capacitor-kit-di-chiamata-in-arrivo Per la capacità nativa in Utilizzo di @capgo/capacitor-incoming-call-kit, API Panoramica per i dettagli di implementazione in API Panoramica, 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 nei dispositivi.