Inicio
Copia 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.
-
Instale 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 empuje nativo como FCM o PushKit.
Cómo se ajusta la integración
Sección titulada “Cómo se ajusta la integración”Este plugin solo controla la presentación de llamadas entrantes nativas. Tu 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 backend o llamada SDK emite un evento de anillo.
- Su aplicación llama
showIncomingCall(). - El plugin presenta una IU de llamada entrante nativa.
callAcceptedle dice a su aplicación que se una a la habitación o sesión VoIP real.callDeclined,callEndedocallTimedOutle dice a su aplicación que limpie 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 establecido reutilizado más tarde conendCall()timeoutMstiempo de espera de mejores esfuerzos sin respuestaextraJSON arbitrario devuelto en payloads de oyenteandroid.channelIdyandroid.channelNameajuste de canal de notificación Androidandroid.showFullScreenpide la actividad de llamada de pantalla completa de Androidios.handleTypeseleccionegeneric,phoneNumber, oemailAddresspara CallKit
Administración de llamadas activas
Título de la sección “Administració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”incomingCallDisplayed: se mostró la interfaz de usuario nativa con éxitocallAccepted: el usuario aceptó desde la interfaz de usuario nativacallDeclined: el usuario rechazó antes de unirsecallEnded: su aplicación o la plataforma finalizó la llamada rastreadacallTimedOut: la llamada siguió sin respuesta hastatimeoutMs
Cada evento lleva el payload normalizado call y su objeto original. extra Observaciones de la plataforma
Sección titulada “Observaciones de la plataforma”
Lee el- Read the Guía de iOS Antes de conectar CallKit en un flujo de PushKit o APNs.
- Lee la Guía de Android antes de confiar en intenciones de pantalla completa en Android 14 y versiones posteriores.
- No está soportado para Web.
Sigue adelante desde Getting Started
Si está utilizandoGetting Started para planificar la consola y las operaciones __CAPGO_KEEP_0__, conecte con Usando @API/__CAPGO_KEEP_1__-incoming-call-kit Using @capgo/capacitor-incoming-call-kit para la capacidad nativa en Usando @capgo/capacitor-kit-de-llamada-incompleta, 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 el detalle de implementación en Dispositivos.