Saltar al contenido

Android

En Android, el plugin envía una notificación de llamada entrante de alta prioridad y puede elevar una actividad de pantalla completa cuando el sistema operativo y los ajustes del usuario lo permiten.

El manifiesto del plugin ya incluye:

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />

Después de la instalación, cap sync basta con fusionar esa configuración en tu aplicación de host.

Llame a estos métodos durante la onboarding o antes de que confíe en la presentación de llamadas entrantes:

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() solicita permiso de notificación en Android 13 y posterior.
  • requestFullScreenIntentPermission() abre la página de ajustes de Android 14 y posterior para intenciones de pantalla completa cuando sea necesario.
import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.showIncomingCall({
callId: 'call-42',
callerName: 'Ada Lovelace',
appName: 'Capgo Phone',
timeoutMs: 45_000,
android: {
channelId: 'calls',
channelName: 'Incoming Calls',
showFullScreen: true,
isHighPriority: true,
accentColor: '#0F766E',
},
});
  • channelId: identificador para el canal de notificación
  • channelName: nombre del canal visible para el usuario
  • showFullScreen: solicita la actividad de pantalla completa
  • isHighPriority: mantiene la notificación lo suficientemente disruptiva para flujos de llamada
  • accentColor: compatibilidad con la superficie de notificación
  • ringtoneUri: apunta a un recurso o URI de tono de llamada de Android personalizado
  • La presentación en pantalla completa es de mejor esfuerzo. Si el dispositivo o los ajustes del usuario lo bloquean, Android aún muestra la notificación de llamada entrante.
  • El manejo de tiempos de espera es de mejor esfuerzo. El complemento sigue y emite timeoutMs pero su servidor debe reconciliar las llamadas perdidas en su lado. callTimedOutLas acciones de aceptar, rechazar y finalizar se emiten de nuevo a través de los escuchadores __CAPGO_KEEP_0__ para que su aplicación pueda unirse o limpiar la sesión de llamada real.
  • Accept, decline, and end actions are emitted back through Capacitor listeners so your app can join or clean up the real call session.

Use Android push or your calling SDK for transport, then let this plugin handle the last mile of native ringing UI. Keep these responsibilities outside the plugin:

  • Ciclo de vida de la sesión de medios
  • Use Android push or your calling __CAPGO_KEEP_0__ for transport, then let this plugin handle the last mile of native ringing UI.
  • Estado de llamada de backend
  • Lógica de negocio de llamada perdida y reintentos