Pulsa para ir al contenido principal

Inicio

GitHub

Puede utilizar nuestra configuración asistida por inteligencia artificial para instalar el complemento. Agregue las Capgo habilidades a su 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 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 complemento ejecutando los siguientes comandos y siga las instrucciones específicas de la plataforma a continuación:

  1. Instalar el paquete

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

    Ventana de terminal
    bunx cap sync
  3. Elige la fuente de tu timbre 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.

Este plugin solo gestiona la presentación de llamadas entrantes nativas. Tu aplicación sigue teniendo el control de transporte, autenticación y la sesión de medios real.

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

  1. Tu backend o el SDK de llamada emite un evento de timbre.
  2. Tu aplicación llama showIncomingCall().
  3. El plugin presenta una IU de llamadas entrantes nativas.
  4. callAccepted indica a tu aplicación que se una a la habitación o sesión de VoIP real.
  5. callDeclined, callEnded, o callTimedOut indica a tu 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 de espera de respuesta de mejor esfuerzo no respondido
  • 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 terminó la llamada rastreada
  • callTimedOut: la llamada siguió sin respuesta hasta timeoutMs

: cada evento lleva el payload normalizado y su objeto original. call : datos de la plataforma extra : Sección titulada “Datos de la plataforma”

: Lea 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). : 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 versiones posteriores.
  • No está soportado en Web.

Si estás utilizando Inicio para planificar la consola y las operaciones API, 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 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.