Getting Started
Copie 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
Sección titulada “Instalación”Puedes utilizar nuestra configuración asistida por IA para instalar el plugin. Agrega las Capgo habilidades a tu herramienta de IA utilizando el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego utiliza 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 prefieres la configuración manual, instala el plugin ejecutando los siguientes comandos y sigue las instrucciones específicas de la plataforma a continuación:
-
Instalar el paquete
Ventana de terminal bun add @capgo/capacitor-incoming-call-kit -
Sincronizar proyectos nativos
Ventana de terminal bunx cap sync -
Elige la fuente de tu anillo Decide si el evento de llamada entrante proviene de tu backend, un SDK como Twilio o Stream, o un camino de notificación nativa como FCM o PushKit.
Cómo se ajusta la integración
Sección titulada “Cómo se ajusta la integración”Este plugin solo posee la presentación de llamadas entrantes nativas. Tu aplicación sigue poseyendo el transporte, la autenticación y la sesión de medios real.
El patrón de producción común es:
- Tu backend o llamada SDK emite un evento de anillo.
- Tu aplicación llama
showIncomingCall(). - El plugin presenta la IU de llamadas entrantes nativas.
callAcceptedLe dice a tu aplicación que se una a la habitación real o sesión de VoIP.callDeclined,callEndedocallTimedOuttells your app to clean up el estado remoto.
Integración mínima
Sección titulada “Integración mínima”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', },});Opciones importantes
Sección titulada “Opciones importantes”callId: identificador estable reutilizado más tarde conendCall()timeoutMs: tiempo de espera sin respuesta con esfuerzoextra: JSON arbitrario devuelto en payloads de escuchaandroid.channelIdyandroid.channelName: ajuste del canal de notificación de Androidandroid.showFullScreen: solicita la actividad de llamada entrante de pantalla completa de Androidios.handleType: elijageneric,phoneNumber, oemailAddresspara CallKit
Administrando llamadas activas
Sección titulada “Administrando 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”incomingCallDisplayed: se mostró UI nativa con éxitocallAccepted: el usuario aceptó desde la UI nativacallDeclined: el usuario rechazó antes de unirsecallEnded: su aplicación o la plataforma terminó la llamada rastreadacallTimedOut: la llamada quedó sin respuesta hastatimeoutMs
Each event carries the normalized call payload and your original extra object.
Observaciones de la plataforma
Sección titulada “Observaciones de la plataforma”- Lea el guía de iOS antes de conectar CallKit en un flujo de PushKit o APNs.
- Lea el guía de Android antes de confiar en intenciones de pantalla completa en Android 14 y posterior.
- La web no está soportada.
Sigue adelante desde Getting Started
Sección titulada “Sigue adelante desde Getting Started”Si estás utilizando Getting Started para planificar la consola de dashboard y API operaciones, conecta con Usando @capgo/capacitor-incoming-call-kit para la capacidad nativa en Usando @capgo/capacitor-incoming-call-kit, API Overview para el detalle de implementación en API Overview, 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 el detalle de implementación en Dispositivos.