Saltar al contenido

Getting Started

GitHub

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:

Ventana de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

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

  1. Instale el paquete

    ventana de terminal
    bun add @capgo/capacitor-incoming-call-kit
  2. Sincronizar proyectos nativos

    ventana de terminal
    bunx cap sync
  3. 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.

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:

  1. Su servidor o llamada SDK emite un evento de timbre.
  2. Su aplicación llama showIncomingCall().
  3. El plugin presenta una IU de llamada entrante nativa.
  4. callAccepted hace que tu aplicación se una a la sala o sesión de VoIP real.
  5. callDeclined, callEnded, or callTimedOut hace 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 con
  • callId: identificador estable reutilizado más tarde con endCall()
  • timeoutMstiempo de espera sin respuesta
  • extra: JSON arbitrario devuelto en payloads de oyentes
  • android.channelId y android.channelName: ajuste de canal de notificación de Android
  • android.showFullScreen: solicita la actividad de llamada de pantalla completa de Android
  • ios.handleTypeseleccionar generic, phoneNumber, o emailAddress para CallKit
const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({
callId: 'call-42',
reason: 'remote-ended',
});
await IncomingCallKit.endAllCalls({
reason: 'session-reset',
});
  • incomingCallDisplayedSe mostró la interfaz de usuario nativa con éxito
  • callAccepted: user accepted from the native UI
  • callDeclined: el usuario rechazó antes de unirse
  • callEnded: su aplicación o la plataforma terminó la llamada rastreada
  • callTimedOut: la llamada siguió sin respuesta hasta timeoutMs

Cada evento lleva el valor normalizado call Observaciones de la plataforma extra object.

  • 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.

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.