Freigeben über


Ü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

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

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

Um das Feature zu verwenden, übergeben Sie den booleschen Wert an skipSetupScreenCallCompositeLocalOptions und fügen ihn in callComposite.launchein.

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

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

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_AVAILABLEaus. 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
callComposite.addOnErrorEventHandler { callCompositeErrorEvent ->
    println(callCompositeErrorEvent.errorCode)
}

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

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

Um das Feature zu verwenden, übergeben Sie den booleschen Wert an skipSetupScreenLocalOptions und fügen ihn in callComposite.launchein.

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

Nächste Schritte