Getting Started
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este 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.
Instalación
Título de la sección “Instalación”Puede utilizar nuestra configuración asistida por IA para instalar el plugin. Agregue las Capgo habilidades a su herramienta de IA utilizando el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego utilice el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-incoming-call-kit` plugin in my project.Si prefiere la configuración manual, instale el plugin ejecutando los siguientes comandos y siguiendo las instrucciones específicas de la plataforma a continuación:
-
Instale el paquete
ventana de terminal bun add @capgo/capacitor-incoming-call-kit -
Sincronizar proyectos nativos
ventana de terminal bunx cap sync -
Elegir la fuente de sonido de llamada Decide whether the incoming-call event comes from your backend, an SDK such as Twilio or Stream, or a native push path such as FCM or PushKit.
Cómo se ajusta la integración
Sección titulada “Cómo se ajusta la integración”Este plugin solo gestiona la presentación de llamadas entrantes nativas. Su aplicación sigue controlando el transporte, la autenticación y la sesión de medios real.
El patrón de producción común es:
- Su servidor o llamada SDK emite un evento de timbre.
- Su aplicación llama
showIncomingCall(). - El plugin presenta una IU de llamada entrante nativa.
callAcceptedhace que tu aplicación se una a la sala o sesión de VoIP real.callDeclined,callEnded, orcallTimedOuthace que tu aplicación limpie el estado remoto.
Sección titulada “Integración mínima”
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', },});Sección titulada “Opciones importantes”
: identificador estable reutilizado más tarde concallId: identificador estable reutilizado más tarde conendCall()timeoutMstiempo de espera sin respuestaextra: JSON arbitrario devuelto en payloads de oyentesandroid.channelIdyandroid.channelName: ajuste de canal de notificación de Androidandroid.showFullScreen: solicita la actividad de llamada de pantalla completa de Androidios.handleTypeseleccionargeneric,phoneNumber, oemailAddresspara CallKit
Gestión de llamadas activas
Sección titulada “Gestión de llamadas activas”const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Modelo de evento
Sección titulada “Modelo de evento”incomingCallDisplayedSe mostró la interfaz de usuario nativa con éxitocallAccepted: user accepted from the native UIcallDeclined: el usuario rechazó antes de unirsecallEnded: su aplicación o la plataforma terminó la llamada rastreadacallTimedOut: la llamada siguió sin respuesta hastatimeoutMs
Cada evento lleva el valor normalizado call Observaciones de la plataforma extra object.
Notas de plataforma
Section titled “Platform notes”- Lee el Guía de iOS antes de conectar CallKit en un flujo de PushKit o APNs.
- Lee el Guía de Android antes de confiar en las intenciones de pantalla completa en Android 14 y posteriores.
- La web no está soportada.
No está soportado el Web.
Section titled “Keep going from Getting Started”Título de sección “Sigue adelante desde Inicio” Si estás utilizando planificar la consola y las operaciones API, conecte con Usando @capgo/capacitor-kit-de-llamada-ingresante para la capacidad nativa en Usando @capgo/capacitor-incoming-call-kit, API Resumen para el detalle de implementación en API Resumen, Introducción para el detalle de implementación en Introducción, API Claves para el detalle de implementación en API Claves, y Dispositivos para los detalles de implementación en dispositivos.