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

Einrichten des Features

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 skipSetupScreen auf den booleschen Wert true festlegen, um das Überspringen des Setupbildschirms 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 der Teilnahme an Anrufen durch Überspringen des Setupbildschirms für Android.

Um das Feature zu verwenden, übergeben Sie den booleschen Wert mit skipSetupScreen an CallCompositeLocalOptions und injizieren 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 mit cameraOn und microphoneOn übergeben, um die Kamera und das Mikrofon ein- oder auszuschalten, 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 sowohl cameraOn als auch microphoneOn auf false gesetzt. Sie können diese Funktionalität auch bei Verwendung der Standardoberfläche zur Anrufannahme der UI-Bibliothek nutzen. 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 microphoneOn an CallCompositeLocalOptions und injizieren Sie ihn 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)

Verwaltung von Berechtigungen

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 Effekte der Standardkonfigurations-API für die Kamera nutzen, nachdem sie die Kameraberechtigung erteilt haben.

Wir empfehlen, dass Sie die Mikrofonberechtigung verwalten. 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 um Fehlerereignisse mit CallComposite 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 false festgelegt. Sie müssen skipSetupScreen auf den booleschen Wert true festlegen, um das Überspringen des Setupbildschirms 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 der Teilnahme an Anrufen durch Überspringen des Setupbildschirms für iOS.

Um das Feature zu verwenden, übergeben Sie den booleschen Wert mit skipSetupScreen an LocalOptions und injizieren 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 mit cameraOn und microphoneOn übergeben, um die Kamera und das Mikrofon ein- oder auszuschalten, 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 sowohl cameraOn als auch microphoneOn auf false gesetzt. Sie können diese Funktionalität auch bei Verwendung der Standardoberfläche zur Anrufannahme der UI-Bibliothek nutzen. 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 microphoneOn an LocalOptions und injizieren Sie ihn in callComposite.launch.

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

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

Verwaltung von Berechtigungen

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, einen Anruf anzunehmen, nachdem sie die Mikrofonberechtigung abgelehnt haben, trennt UI-Bibliothek den Anruf in der Verbindungsphase und gibt einen microphonePermissionNotGranted-Fehler 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 Effekte der Standardkonfigurations-API für die Kamera nutzen, nachdem sie die Kameraberechtigung erteilt haben.

Wir empfehlen, dass Sie die Mikrofonberechtigung verwalten. 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 Schließungen implementieren, um auf zusammengesetzte Ereignisse zu reagieren. Das folgende Beispiel zeigt ein Fehlerereignis für eine fehlerhafte Zusammensetzung.

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