Saltare al contenuto

iOS

GitHub

Sul sistema iOS, il plugin segnala la chiamata in arrivo a CallKit. Ciò ti consente di avere la schermata di sistema per le chiamate in arrivo e azioni di chiamata standardizzate senza dover costruire la tua UI di chiamata in arrivo nativa.

requestPermissions() risolve immediatamente su iOS perché CallKit stesso non richiede un dialogo di autorizzazione runtime.

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.showIncomingCall({
callId: 'call-42',
callerName: 'Ada Lovelace',
handle: '+1 555 010 020',
ios: {
handleType: 'phoneNumber',
supportsHolding: true,
supportsDTMF: false,
},
});

Utilizza ios.handleType per controllare come CallKit formatta il handle:

  • generic per identificatori specifici dell'app
  • phoneNumber per numeri di telefono reali
  • emailAddress per identità basate su email

Questo plugin non registra PushKit o APNs per te.

Per un vero suono di campanello in background o stato terminato su iOS, la tua app host ancora ha bisogno dell'impostazione di push nativa Apple che corrisponde alla tua strategia di trasporto:

  1. Abilita le notifiche push quando il tuo trasporto utilizza la consegna di push Apple.
  2. Abilita il modulo di background Voice over IP quando la tua app utilizza un flusso di push VoIP.
  3. Consegna l'evento di chiamata in arrivo alla tua app e invoca questo plugin non appena è disponibile il ponte Capacitor.

Se l'evento di suono esiste solo in JavaScript, otterrai l'esperienza migliore mentre l'app è già in esecuzione in foreground.

CallKit non sostituisce il tuo media SDK.

<key>NSMicrophoneUsageDescription</key>
<string>This app uses the microphone for calls.</string>
<key>NSCameraUsageDescription</key>
<string>This app uses the camera for video calls.</string>

Aggiungi solo le chiavi che il tuo flusso di chiamata reale necessita.

  • Registrazione di PushKit e APNs
  • Autenticazione e rinnovo del token
  • Unisciti alla stanza reale o alla sessione VoIP dopo callAccepted
  • Termina o riconosci lo stato di chiamata remota quando il plugin emette callDeclined, callEnded, o callTimedOut

Se stai utilizzando iOS per pianificare il lavoro dei plugin nativi, connettilo con Utilizzando @capgo/capacitor-kit-di-chiamata-in-arrivo per la capacità nativa in Utilizzando @capgo/capacitor-kit-di-chiamata-in-arrivo Directory dei plugin di Capgo per il flusso di lavoro del prodotto in Directory dei plugin di Capgo Plugin di Capacitor sviluppati da Capgo per la dettaglio di implementazione in Plugin di Capacitor sviluppati da Capgo Aggiungere o aggiornare i plugin per la dettaglio di implementazione in Aggiungere o aggiornare i plugin, e Alternative per i plugin aziendali di Ionic per il flusso di lavoro del prodotto in Ionic Enterprise Plugin Alternatives.