Saltare al contenuto

Inizia

GitHub

Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo competenze al tuo strumento AI utilizzando il seguente comando:

Finestra del terminale
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Poi 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 sotto:

  1. Installa il pacchetto

    Finestra del terminale
    bun add @capgo/capacitor-incoming-call-kit
  2. Sincronizza progetti nativi

    Fermata del terminale
    bunx cap sync
  3. 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 un percorso di push nativo come FCM o PushKit.

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 è:

  1. Il tuo backend o il SDK di chiamata emette un evento di suono.
  2. La tua app chiama showIncomingCall().
  3. Il plugin presenta una UI di chiamata in arrivo nativa.
  4. callAccepted insegna all'app di unirsi alla stanza o alla sessione VoIP effettiva.
  5. callDeclined, callEnded, o callTimedOut insegna all'app di pulire lo stato remoto.
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',
},
});
  • callId: identificatore stabile riutilizzato in seguito con endCall()
  • timeoutMs: timeout di risposta non risposto con sforzo massimo
  • extra: JSON casuale riflesso indietro nei payload dei listener
  • android.channelId E e android.channelName: Regolazione del canale di notifica Android
  • android.showFullScreen: richiede l'attività di chiamata in anteprima a schermo intero Android
  • ios.handleType: scegli generic, phoneNumber, o emailAddress per CallKit
const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({
callId: 'call-42',
reason: 'remote-ended',
});
await IncomingCallKit.endAllCalls({
reason: 'session-reset',
});
  • incomingCallDisplayed: la UI nativa è stata visualizzata con successo
  • callAccepted: l'utente ha accettato dalla UI nativa
  • callDeclined: l'utente ha rifiutato prima di unirsi
  • callEnded: la tua app o la piattaforma ha interrotto la chiamata tracciata
  • callTimedOut: la chiamata è rimasta senza risposta fino a timeoutMs

: ogni evento trasporta il payload normalizzato e l'oggetto originale. call : note della piattaforma extra : sezione intitolata “note della piattaforma”

: leggi il

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). : 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 versioni successive.
  • Non è supportato per Web.

Se stai utilizzando Inizia per pianificare dashboard e API operazioni, connettilo con Utilizza @capgo/capacitor-kit-di-chiamata-in-arrivo per la capacità nativa in Utilizza @capgo/capacitor-kit-di-chiamata-in-arrivo API Overview 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 in Dispositivi.