Saltare al contenuto

IOS

GitHub

Come funziona il comportamento iOS.

Come funziona il comportamento di iOS

Sul iOS, il plugin segnala la chiamata in arrivo a CallKit. Ciò ti fornisce la scheda di chiamata in arrivo del sistema e le 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,
},
});

Usa ios.handleType per controllare come CallKit formatta il gestore:

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

Questo plugin non registra PushKit o APNs per te.

Per un suono di arrivo in background o stato terminato su iOS, la tua app host richiede ancora la configurazione 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 di campanello esiste solo in JavaScript, otterrai l'esperienza migliore mentre l'app è già in esecuzione in primo piano.

Autorizzazioni per il microfono e la camera

Sezione intitolata “Autorizzazioni per microfono e camera”

CallKit non sostituisce i tuoi media SDK. Se la sessione di chiamata reale utilizza l'accesso al microfono o alla camera, le descrizioni di utilizzo devono ancora essere presenti nell'app:

<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.

Conserva queste responsabilità nel layer dell'app

Sezione intitolata “Conserva queste responsabilità nel layer dell'app”
  • Registrazione di PushKit e APNs
  • Autenticazione e rinnovo del token
  • Unirsi alla stanza reale o alla sessione VoIP dopo callAccepted
  • Terminare o riconciliare 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 Utilizza @capgo/capacitor-kit-di-chiamata-in-arrivo per la capacità nativa in Utilizza @capgo/capacitor-kit-di-chiamata-in-arrivo Capgo Directory dei plugin per il workflow del prodotto nella Capgo Directory dei Plugin Capacitor Plugin di Capgo per la dettaglio di implementazione in Capacitor Plugin di Capgo Aggiungere o Aggiornare i Plugin per il dettaglio di implementazione in Aggiungere o Aggiornare i Plugin, e Alternativi Plugin Ionic Enterprise per il flusso di lavoro del prodotto in Alternativi Plugin Ionic Enterprise.