Saltar al contenido

Inicio

GitHub

Puedes utilizar nuestra configuración asistida por inteligencia artificial para instalar el complemento. Agrega las Capgo habilidades a tu herramienta de inteligencia artificial utilizando el siguiente comando:

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

Luego 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 complemento ejecutando los siguientes comandos y sigue las instrucciones específicas de la plataforma a continuación:

  1. Instala 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 siendo dueña del transporte, la autenticación y la sesión de medios real.

El patrón de producción común es:

  1. Your backend or calling SDK emits a ring event.
  2. Su aplicación llama showIncomingCall().
  3. El plugin presenta una interfaz de llamadas entrantes nativas.
  4. callAccepted le dice a su aplicación que se una a la habitación o sesión de VoIP real.
  5. callDeclined, callEnded, o callTimedOut le dice a su aplicación que limpie el estado 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: identificador estable reutilizado más tarde con endCall()
  • timeoutMs: tiempo límite de espera de mejores ofertas sin respuesta
  • extra: JSON arbitrario reflejado en payloads de oyentes
  • android.channelId y android.channelName: ajustar el canal de notificación de Android
  • android.showFullScreen: solicita la actividad de llamada de pantalla completa de Android
  • ios.handleType: elegir 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',
});
  • incomingCallDisplayed: se mostró la interfaz de usuario nativa con éxito
  • callAccepted: el usuario aceptó desde la interfaz de usuario nativa
  • callDeclined: el usuario rechazó antes de unirse
  • callEnded: su aplicación o la plataforma finalizó la llamada rastreada
  • callTimedOut: la llamada permaneció sin respuesta hasta timeoutMs

Each event carries the normalized call payload and your original extra object.

  • Lee el 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).
  • Lee el Guía de Android antes de confiar en las intenciones de pantalla completa en Android 14 y posteriores.
  • No está soportado en Web.

Si está utilizando Inicio para planificar la consola y las operaciones API, conecte con Usando @capgo/capacitor-kit-de-llamadas-ingresantes para la capacidad nativa en Usando @capgo/capacitor-kit-de-llamadas-ingresantes, 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.