Überspringen des Setupbildschirms in einer Anwendung
Die Benutzeroberfläche der Azure Communication Services-Bibliothek bietet die Möglichkeit, einem Anruf beizutreten, ohne den Setupbildschirm zu durchlaufen. Es ermöglicht Entwicklern, eine Kommunikationsanwendung auf eine Weise zu erstellen, mit der Benutzer direkt an einem Anruf teilnehmen können, ohne dass eine Benutzerinteraktion erforderlich ist. Das Feature bietet auch die Möglichkeit, den Standardzustand der Kamera und des Mikrofons (ein oder aus) zu konfigurieren, bevor Benutzer an einem Anruf teilnehmen.
In diesem Artikel erfahren Sie, wie Sie das Feature in Ihrer Anwendung richtig einrichten.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine bereitgestellte Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource.
- Ein Benutzerzugriffstoken zum Aktivieren des Anrufclients. Rufen Sie ein Benutzerzugriffstoken ab.
- Optional: Abschluss der Schnellstartanleitung für die ersten Schritte mit den Verbundelementen der UI-Bibliothek.
Die Funktion einrichten
Weitere Informationen finden Sie in der Open Source Android UI Library und im Beispielanwendungscode.
Option zum Überspringen des Setupbildschirms
CallCompositeLocalOptions
ist ein Optionswrapper, der die Funktion der UI-Bibliothek festlegt, den Setupbildschirm mithilfe eines booleschen Elements zu überspringen. Standardmäßig ist die Funktion zum Überspringen des Setupbildschirms auf " false
festgelegt. Sie müssen einen true
booleschen Wert festlegenskipSetupScreen
, um das Überspringen des Setupbildschirms zu ermöglichen.
Es wird empfohlen, Ihre Anwendung so zu erstellen, dass beim Versuch, einem Anruf beizutreten, die Mikrofonberechtigung bereits für eine reibungslose Teilnahme gewährt wird.
Um das Feature zu verwenden, übergeben Sie den booleschen Wert an skipSetupScreen
CallCompositeLocalOptions
und fügen ihn in callComposite.launch
ein.
import com.azure.android.communication.ui.calling.models.CallCompositeLocalOptions
val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
.setSkipSetupScreen(true)
callComposite.launch(callLauncherActivity, remoteOptions, localOptions)
Standardoptionen für kamera- und mikrofonkonfiguration
Standardmäßig bietet der Setupbildschirm Benutzern die Möglichkeit, Kamera- und Mikrofoneinstellungen vor dem Beitritt zu einem Anruf zu konfigurieren. Wenn Sie den Setupbildschirm für die Teilnahme an einem Anruf überspringen, haben Benutzer diese Option erst, wenn sie sich im Anruf befinden.
Sie können einen booleschen Wert übergeben cameraOn
und microphoneOn
die Kamera und das Mikrofon ein- oder ausschalten, bevor Benutzer einem Anruf beitreten. Die Funktionalität der Steuerung des Standardzustands der Kamera und des Mikrofons ist nicht betroffen, wenn ein Benutzer die Berechtigung für jede von ihnen erteilt.
Standardmäßig sind beide cameraOn
und microphoneOn
auf false
. Sie können diese Funktionalität auch mit der standardmäßigen Anrufbeitrittserfahrung der UI-Bibliothek verwenden. In diesem Fall sind die Kamera und das Mikrofon entsprechend der von Ihnen festgelegten Konfiguration auf dem Setupbildschirm aktiviert oder deaktiviert.
Um den Standardzustand der Kamera und des Mikrofons festzulegen, übergeben Sie den booleschen Wert mit cameraOn
und an CallCompositeLocalOptions
und microphoneOn
fügen ihn ein.callComposite.launch
import com.azure.android.communication.ui.calling.models.CallCompositeLocalOptions
val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
.setMicrophoneOn(true)
.setCameraOn(true)
callComposite.launch(callLauncherActivity, remoteOptions, localOptions)
Berechtigungsbehandlung
Es wird empfohlen, Benutzern die Teilnahme an einem Anruf mit Mikrofon und Kameraberechtigung zu ermöglichen, um das Feature zum Überspringen des Setupbildschirms mit Standardkonfigurations-APIs für das Mikrofon und die Kamera zu verwenden. Wenn Sie die Berechtigungen des Benutzers nicht verarbeiten, versucht die Benutzeroberflächenbibliothek, sie für Sie zu verarbeiten.
Benutzer müssen die Mikrofonberechtigung aktivieren, um einem Anruf beizutreten. Wenn Benutzer versuchen, nach dem Verweigern der Mikrofonberechtigung an einem Anruf teilzunehmen, legt die Benutzeroberflächenbibliothek den Anruf in der Verbindungsstufe ab und löst einen Fehler mit dem Code CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTED
aus.
Benutzer können jedoch an einem Anruf teilnehmen, auch wenn sie die Kameraberechtigung verweigern. Die Benutzeroberflächenbibliothek deaktiviert die Kamerafunktionalität, wenn die Kameraberechtigung verweigert wird. Die Standardkonfigurations-API für die Kamera wirkt sich also nicht auf die Anruferfahrung aus. Benutzer können die Auswirkungen der Standardkonfigurations-API für die Kamera genießen, nachdem sie die Kameraberechtigung erteilt hat.
Es wird empfohlen, die Mikrofonberechtigung zu behandeln. Wenn Benutzer dem Anruf beitreten, bei dem die Kamera standardmäßig aktiviert ist, empfehlen wir, dass Sie auch die Kameraberechtigung behandeln.
Netzwerkfehler
Wenn während eines Aufrufs eine Netzwerkunterbrechung auftritt oder ein Aufruf abbricht, wird die UI-Bibliothek geschlossen und löst einen Fehler mit dem Code CallCompositeErrorCode.CALL_END_FAILED
aus.
Wenn ein Benutzer über keine Netzwerkverbindung verfügt und versucht, dem Anruf beizutreten, nachdem der Setupbildschirm übersprungen wurde, wird die Benutzeroberflächenbibliothek in der Aufrufverbindungsphase geschlossen und löst einen Fehler mit dem Code CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE
aus. Um diesen Fehler zu vermeiden, empfiehlt es sich, Ihre Anwendung so zu konfigurieren, dass die Netzwerkverfügbarkeit überprüft wird, bevor Benutzer einem Anruf beitreten.
Rufen Sie setOnErrorHandler
mit CallComposite
auf, um Fehlerereignisse zu empfangen.
Die folgenden error
-Werte können an den Fehlerhandler gesendet werden:
microphonePermissionNotGranted
networkConnectionNotAvailable
Weitere Informationen finden Sie in der Open-Source-iOS-UI-Bibliothek und im Beispielanwendungscode.
Option zum Überspringen des Setupbildschirms
LocalOptions
ist ein Optionswrapper, der die Funktion der UI-Bibliothek festlegt, den Setupbildschirm mithilfe eines booleschen Elements zu überspringen. Standardmäßig ist die Funktion zum Überspringen des Setupbildschirms auf " false
festgelegt. Sie müssen einen true
booleschen Wert festlegenskipSetupScreen
, um das Überspringen des Setupbildschirms zu ermöglichen.
Es wird empfohlen, Ihre Anwendung so zu erstellen, dass beim Versuch, einem Anruf beizutreten, die Mikrofonberechtigung bereits für eine reibungslose Teilnahme gewährt wird.
Um das Feature zu verwenden, übergeben Sie den booleschen Wert an skipSetupScreen
LocalOptions
und fügen ihn in callComposite.launch
ein.
let localOptions = LocalOptions(skipSetupScreen: true)
callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)
Standardoptionen für kamera- und mikrofonkonfiguration
Standardmäßig bietet der Setupbildschirm Benutzern die Möglichkeit, Kamera- und Mikrofoneinstellungen vor dem Beitritt zu einem Anruf zu konfigurieren. Wenn Sie den Setupbildschirm für die Teilnahme an einem Anruf überspringen, haben Benutzer diese Option erst, wenn sie sich im Anruf befinden.
Sie können einen booleschen Wert übergeben cameraOn
und microphoneOn
die Kamera und das Mikrofon ein- oder ausschalten, bevor Benutzer einem Anruf beitreten. Die Funktionalität der Steuerung des Standardzustands der Kamera und des Mikrofons ist nicht betroffen, wenn ein Benutzer die Berechtigung für jede von ihnen erteilt.
Standardmäßig sind beide cameraOn
und microphoneOn
auf false
. Sie können diese Funktionalität auch mit der standardmäßigen Anrufbeitrittserfahrung der UI-Bibliothek verwenden. In diesem Fall sind die Kamera und das Mikrofon entsprechend der von Ihnen festgelegten Konfiguration auf dem Setupbildschirm aktiviert oder deaktiviert.
Um den Standardzustand der Kamera und des Mikrofons festzulegen, übergeben Sie den booleschen Wert mit cameraOn
und an LocalOptions
und microphoneOn
fügen ihn ein.callComposite.launch
let localOptions = LocalOptions(cameraOn: true, microphoneOn: true)
callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)
Berechtigungsbehandlung
Es wird empfohlen, Benutzern die Teilnahme an einem Anruf mit Mikrofon und Kameraberechtigung zu ermöglichen, um das Feature zum Überspringen des Setupbildschirms mit Standardkonfigurations-APIs für das Mikrofon und die Kamera zu verwenden. Wenn Sie die Berechtigungen des Benutzers nicht verarbeiten, versucht die Benutzeroberflächenbibliothek, sie für Sie zu verarbeiten.
Benutzer müssen die Mikrofonberechtigung aktivieren, um einem Anruf beizutreten. Wenn Benutzer versuchen, an einem Anruf teilzunehmen, nachdem sie die Mikrofonberechtigung verweigert haben, wird der Anruf in der Verbindungsstufe verworfen und ein microphonePermissionNotGranted
Fehler ausgelöst.
Benutzer können jedoch an einem Anruf teilnehmen, auch wenn sie die Kameraberechtigung verweigern. Die Benutzeroberflächenbibliothek deaktiviert die Kamerafunktionalität, wenn die Kameraberechtigung verweigert wird. Die Standardkonfigurations-API für die Kamera wirkt sich also nicht auf die Anruferfahrung aus. Benutzer können die Auswirkungen der Standardkonfigurations-API für die Kamera genießen, nachdem sie die Kameraberechtigung erteilt hat.
Es wird empfohlen, die Mikrofonberechtigung zu behandeln. Wenn Benutzer dem Anruf beitreten, bei dem die Kamera standardmäßig aktiviert ist, empfehlen wir, dass Sie auch die Kameraberechtigung behandeln.
Netzwerkfehler
Wenn während eines Anrufs eine Netzwerkunterbrechung auftritt oder ein Anruf abbricht, wird die UI-Bibliothek geschlossen und löst einen callEndFailed
Fehler aus.
Wenn ein Benutzer über keine Netzwerkverbindung verfügt und versucht, dem Anruf beizutreten, nachdem der Setupbildschirm übersprungen wurde, wird die Benutzeroberflächenbibliothek in der Anrufverbindungsphase geschlossen und löst einen networkConnectionNotAvailable
Fehler aus. Um diesen Fehler zu vermeiden, empfiehlt es sich, Ihre Anwendung so zu konfigurieren, dass die Netzwerkverfügbarkeit überprüft wird, bevor Benutzer einem Anruf beitreten.
Sie können Abschlüsse implementieren, um auf zusammengesetzte Ereignisse zu reagieren. Das folgende Beispiel zeigt ein Fehlerereignis für ein fehlerhaftes zusammengesetztes Ereignis:
callComposite?.events.onError = { error in
print("CallComposite failed with error:\(error)")
}
Die folgenden error
-Werte können an den Fehlerhandler gesendet werden:
microphonePermissionNotGranted
networkConnectionNotAvailable