Ignorare la schermata di installazione in un'applicazione

La libreria dell'interfaccia utente Servizi di comunicazione di Azure offre la possibilità di partecipare a una chiamata senza passare attraverso la schermata di configurazione. Consente agli sviluppatori di creare un'applicazione di comunicazione in modo che consenta agli utenti di partecipare direttamente a una chiamata, senza alcuna interazione dell'utente. La funzionalità offre anche la possibilità di configurare lo stato predefinito della fotocamera e del microfono (acceso o spento) prima che gli utenti partecipino a una chiamata.

Questo articolo illustra come configurare correttamente la funzionalità nell'applicazione.

Prerequisiti

Configurare la funzionalità

Per altre informazioni, vedere la libreria dell'interfaccia utente Android open source e il codice dell'applicazione di esempio.

Opzione per ignorare la schermata di installazione

CallCompositeLocalOptions è un wrapper di opzioni che imposta la funzionalità della libreria dell'interfaccia utente per ignorare la schermata di installazione usando un valore Boolean. Per impostazione predefinita, la funzionalità per ignorare la schermata di installazione è impostata su false. È necessario impostare skipSetupScreen con un true valore booleano per offrire l'esperienza di ignorare la schermata di configurazione.

È consigliabile creare l'applicazione in modo che quando un utente tenta di partecipare a una chiamata, l'autorizzazione microfono è già concessa per un'esperienza di join senza problemi.

Screenshot of joining call by skipping the setup screen for Android.

Per usare la funzionalità, passare il valore booleano con skipSetupScreen e CallCompositeLocalOptions inserirlo in callComposite.launch.

import com.azure.android.communication.ui.calling.models.CallCompositeLocalOptions

val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
    .setSkipSetupScreen(true)

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Opzioni predefinite per la configurazione della fotocamera e del microfono

Per impostazione predefinita, la schermata di configurazione consente agli utenti di configurare le impostazioni della fotocamera e del microfono prima di partecipare a una chiamata. Quando si configura la schermata di configurazione per partecipare a una chiamata, gli utenti non dispongono di tale opzione fino a quando non sono alla chiamata.

È possibile passare un valore booleano con cameraOn e microphoneOn per attivare o disattivare la fotocamera e il microfono prima che gli utenti partecipino a una chiamata. La funzionalità di controllo dello stato predefinito della fotocamera e del microfono non è interessata se un utente concede l'autorizzazione per ognuna di esse.

Per impostazione predefinita, sia cameraOn che microphoneOn sono impostati su false. È possibile usare questa funzionalità anche con l'esperienza predefinita di join delle chiamate della libreria dell'interfaccia utente. In tal caso, la fotocamera e il microfono vengono attivati o disattivati sullo schermo di configurazione in base alla configurazione impostata.

Per impostare lo stato predefinito della fotocamera e del microfono, passare il valore booleano con cameraOn e microphoneOn a CallCompositeLocalOptions e inserirlo in callComposite.launch.

import com.azure.android.communication.ui.calling.models.CallCompositeLocalOptions

val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
    .setMicrophoneOn(true)
    .setCameraOn(true)

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Gestione delle autorizzazioni

È consigliabile consentire agli utenti di partecipare a una chiamata con l'autorizzazione microfono e fotocamera concessa per usare la funzionalità di ignorare la schermata di installazione con le API di configurazione predefinite per il microfono e la fotocamera. Se non gestisci le autorizzazioni dell'utente, la libreria dell'interfaccia utente tenta di gestirle automaticamente.

Gli utenti devono abilitare l'autorizzazione microfono per partecipare a una chiamata. Se gli utenti tentano di partecipare a una chiamata dopo aver negato l'autorizzazione del microfono, la libreria dell'interfaccia utente elimina la chiamata nella fase di connessione e genera un errore con il codice CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTED.

Tuttavia, gli utenti possono partecipare a una chiamata anche se negano l'autorizzazione della fotocamera. La libreria dell'interfaccia utente disabilita la funzionalità della fotocamera quando viene negata l'autorizzazione della fotocamera. Quindi, l'API di configurazione predefinita per la fotocamera non influisce sull'esperienza di chiamata. Gli utenti possono godere dell'effetto dell'API di configurazione predefinita per la fotocamera dopo aver concesso l'autorizzazione della fotocamera.

È consigliabile gestire l'autorizzazione del microfono. Se gli utenti accedono alla chiamata con la fotocamera attivata per impostazione predefinita, ti consigliamo di gestire anche l'autorizzazione della fotocamera.

errori di rete

Se si verifica un'interruzione della rete durante una chiamata o una chiamata, la libreria dell'interfaccia utente si chiude e genera un errore con il codice CallCompositeErrorCode.CALL_END_FAILED.

Se un utente non ha una connessione di rete e tenta di partecipare alla chiamata dopo aver ignorato la schermata di configurazione, la libreria dell'interfaccia utente si chiude alla fase di connessione delle chiamate e genera un errore con il codice CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE. Per evitare questo errore, è consigliabile configurare l'applicazione per verificare la disponibilità di rete prima che gli utenti partecipino a una chiamata.

Per ricevere gli eventi di errore, chiamare setOnErrorHandler con CallComposite.

È possibile inviare i valori seguenti error al gestore degli errori:

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable
callComposite.addOnErrorEventHandler { callCompositeErrorEvent ->
    println(callCompositeErrorEvent.errorCode)
}

Per altre informazioni, vedere la libreria dell'interfaccia utente iOS open source e il codice dell'applicazione di esempio.

Opzione per ignorare la schermata di installazione

LocalOptions è un wrapper di opzioni che imposta la funzionalità della libreria dell'interfaccia utente per ignorare la schermata di installazione usando un valore Boolean. Per impostazione predefinita, la funzionalità per ignorare la schermata di installazione è impostata su false. È necessario impostare skipSetupScreen con un true valore booleano per offrire l'esperienza di ignorare la schermata di configurazione.

È consigliabile creare l'applicazione in modo che quando un utente tenta di partecipare a una chiamata, l'autorizzazione microfono è già concessa per un'esperienza di join senza problemi.

Screenshot of joining call by skipping the setup screen for iOS.

Per usare la funzionalità, passare il valore booleano con skipSetupScreen e LocalOptions inserirlo in callComposite.launch.

let localOptions = LocalOptions(skipSetupScreen: true)

callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)

Opzioni predefinite per la configurazione della fotocamera e del microfono

Per impostazione predefinita, la schermata di configurazione consente agli utenti di configurare le impostazioni della fotocamera e del microfono prima di partecipare a una chiamata. Quando si configura la schermata di configurazione per partecipare a una chiamata, gli utenti non dispongono di tale opzione fino a quando non sono alla chiamata.

È possibile passare un valore booleano con cameraOn e microphoneOn per attivare o disattivare la fotocamera e il microfono prima che gli utenti partecipino a una chiamata. La funzionalità di controllo dello stato predefinito della fotocamera e del microfono non è interessata se un utente concede l'autorizzazione per ognuna di esse.

Per impostazione predefinita, sia cameraOn che microphoneOn sono impostati su false. È possibile usare questa funzionalità anche con l'esperienza predefinita di join delle chiamate della libreria dell'interfaccia utente. In tal caso, la fotocamera e il microfono vengono attivati o disattivati sullo schermo di configurazione in base alla configurazione impostata.

Per impostare lo stato predefinito della fotocamera e del microfono, passare il valore booleano con cameraOn e microphoneOn a LocalOptions e inserirlo in callComposite.launch.

let localOptions = LocalOptions(cameraOn: true, microphoneOn: true)

callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)

Gestione delle autorizzazioni

È consigliabile consentire agli utenti di partecipare a una chiamata con l'autorizzazione microfono e fotocamera concessa per usare la funzionalità di ignorare la schermata di installazione con le API di configurazione predefinite per il microfono e la fotocamera. Se non gestisci le autorizzazioni dell'utente, la libreria dell'interfaccia utente tenta di gestirle automaticamente.

Gli utenti devono abilitare l'autorizzazione microfono per partecipare a una chiamata. Se gli utenti tentano di partecipare a una chiamata dopo aver negato l'autorizzazione del microfono, la libreria dell'interfaccia utente elimina la chiamata nella fase di connessione e genera un microphonePermissionNotGranted errore.

Tuttavia, gli utenti possono partecipare a una chiamata anche se negano l'autorizzazione della fotocamera. La libreria dell'interfaccia utente disabilita la funzionalità della fotocamera quando viene negata l'autorizzazione della fotocamera. Quindi, l'API di configurazione predefinita per la fotocamera non influisce sull'esperienza di chiamata. Gli utenti possono godere dell'effetto dell'API di configurazione predefinita per la fotocamera dopo aver concesso l'autorizzazione della fotocamera.

È consigliabile gestire l'autorizzazione del microfono. Se gli utenti accedono alla chiamata con la fotocamera attivata per impostazione predefinita, ti consigliamo di gestire anche l'autorizzazione della fotocamera.

errori di rete

Se si verifica un'interruzione della rete durante una chiamata o una chiamata viene eliminata, la libreria dell'interfaccia utente chiude e genera un callEndFailed errore.

Se un utente non ha una connessione di rete e tenta di partecipare alla chiamata dopo aver ignorato la schermata di configurazione, la libreria dell'interfaccia utente si chiude alla fase di connessione delle chiamate e genera un networkConnectionNotAvailable errore. Per evitare questo errore, è consigliabile configurare l'applicazione per verificare la disponibilità di rete prima che gli utenti partecipino a una chiamata.

È possibile implementare le chiusure per agire su eventi compositi. L'esempio seguente mostra un evento di errore per un composito non riuscito:

callComposite?.events.onError = { error in
    print("CallComposite failed with error:\(error)")
}

È possibile inviare i valori seguenti error al gestore degli errori:

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

Passaggi successivi