Saltare al contenuto

Android

GitHub

Su Android, il plugin pubblica una notifica di chiamata in arrivo di priorità alta e può elevare un'attività a schermo intero quando la piattaforma e le impostazioni dell'utente lo consentono.

Il manifesto del plugin include già:

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

Dopo l'installazione, cap sync è sufficiente unire quella configurazione al tuo'app host.

Chiamare questi metodi durante l'iscrizione o prima di affidarsi alla presentazione delle chiamate in arrivo:

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() richiede la notifica di autorizzazione su Android 13 e successive versioni.
  • requestFullScreenIntentPermission() Apre la pagina di impostazioni Android 14 e successive per intenti a schermo intero quando necessario.
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',
},
});
  • channelIdidentificatore per il canale di notifica
  • channelNamenome del canale visibile dall'utente
  • showFullScreen: richiedere l'attività a schermo intero
  • isHighPriorityMantieni la notifica sufficientemente disturbante per i flussi di chiamata in arrivo
  • accentColor: abbagliare le superfici di notifica compatibili
  • ringtoneUriPuntare a un ringtone Android personalizzato o a una risorsa/URI customizzata
  • La presentazione a schermo intero non è garantita. Se il dispositivo o le impostazioni utente lo bloccano, Android mostra comunque la notifica della chiamata in arrivo.
  • La gestione dei timeout è di tipo best-effort. Il plugin traccia timeoutMs e emette callTimedOutma il tuo backend dovrebbe ancora riconciliare le chiamate perse sul suo lato.
  • Le azioni di accettazione, rifiuto e fine sono emesse nuovamente attraverso gli ascoltatori Capacitor affinché il tuo app possa unirsi o pulire la sessione di chiamata reale.

Usa la push di Android o il tuo chiamante SDK per il trasporto, quindi lascia che questo plugin si occupi dell'ultima parte dell'interfaccia di chiamata nativa. Mantieni queste responsabilità al di fuori del plugin:

  • Registrazione e gestione del token FCM
  • Ciclo di vita della sessione media
  • Stato della chiamata backend
  • Logica di riprova e chiamata mancata

Se stai utilizzando Android per pianificare il comportamento di media e interfaccia nativa, connettilo con Usa @capgo/capacitor-incoming-call-kit per la capacità nativa in Utilizzare @capgo/capacitor-kit-chiamata-in-arrivo, Utilizzare @capgo/capacitor-attività-viva per la capacità nativa in Utilizzare @capgo/capacitor-attività-viva, @capgo/capacitor-attività-viva per il dettaglio di implementazione in @capgo/capacitor-attività-viva, Utilizzare @capgo/capacitor-giocatore-di-video per la capacità nativa in Utilizzare @capgo/capacitor-giocatore-di-video, e @capgo/capacitor-giocatore-di-video per il dettaglio di implementazione in @capgo/capacitor-giocatore-di-video.