Delen via


Het installatiescherm in een toepassing overslaan

De Ui-bibliotheek van Azure Communication Services biedt de mogelijkheid om deel te nemen aan een gesprek zonder het installatiescherm te doorlopen. Hiermee kunnen ontwikkelaars een communicatietoepassing bouwen op een manier waarmee gebruikers rechtstreeks kunnen deelnemen aan een oproep, zonder tussenkomst van de gebruiker. De functie biedt ook de mogelijkheid om de standaardstatus van de camera en microfoon (in of uit) te configureren voordat gebruikers deelnemen aan een gesprek.

In dit artikel leert u hoe u de functie correct instelt in uw toepassing.

Vereisten

De functie configureren

Zie de opensource-uibibliotheek voor Android en de voorbeeldtoepassingscode voor meer informatie.

Optie om het installatiescherm over te slaan

CallCompositeLocalOptions is een opties-wrapper waarmee de mogelijkheid van de UI-bibliotheek wordt ingesteld om het installatiescherm over te slaan met behulp van een Booleaanse waarde. Standaard is de mogelijkheid om het installatiescherm over te slaan ingesteld op false. U moet instellen skipSetupScreen met een true Booleaanse waarde om de ervaring van het overslaan van het installatiescherm te bieden.

Het is raadzaam om uw toepassing zo te bouwen dat wanneer een gebruiker probeert deel te nemen aan een gesprek, de microfoonmachtiging al is verleend voor een soepele deelname-ervaring.

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

Als u de functie wilt gebruiken, geeft u de Booleaanse waarde door aan skipSetupScreen CallCompositeLocalOptions en injecteert u deze in callComposite.launch.

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Standaardopties voor camera- en microfoonconfiguratie

Standaard biedt het installatiescherm gebruikers een optie om camera- en microfooninstellingen te configureren voordat ze deelnemen aan een gesprek. Wanneer u het installatiescherm instelt om deel te nemen aan een gesprek, hebben gebruikers die optie niet totdat ze aan het gesprek deelnemen.

U kunt een Booleaanse waarde doorgeven en cameraOn microphoneOn de camera en microfoon in- of uitschakelen voordat gebruikers deelnemen aan een gesprek. De functionaliteit van het beheren van de standaardstatus van de camera en microfoon wordt niet beïnvloed als een gebruiker respectievelijk de machtiging verleent voor elk van deze camera's.

Beide zijn standaard cameraOn microphoneOn ingesteld op false. U kunt deze functionaliteit zelfs gebruiken met de standaardervaring voor het deelnemen aan oproepen in de gebruikersinterfacebibliotheek. In dat geval worden de camera en microfoon in- of uitgeschakeld op het installatiescherm volgens de configuratie die u hebt ingesteld.

Als u de standaardstatus van de camera en microfoon wilt instellen, geeft u de Booleaanse waarde door met cameraOn en microphoneOn CallCompositeLocalOptions injecteert u deze 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)

Afhandeling van machtigingen

U wordt aangeraden gebruikers toe te staan deel te nemen aan een gesprek met microfoon- en cameramachtigingen om het installatiescherm te overslaan met standaardconfiguratie-API's voor de microfoon en camera. Als u de machtigingen van de gebruiker niet afhandelt, probeert de UI-bibliotheek deze voor u te verwerken.

Gebruikers moeten de microfoonmachtiging inschakelen om deel te nemen aan een gesprek. Als gebruikers proberen deel te nemen aan een gesprek nadat ze de microfoonmachtiging hebben geweigerd, wordt de aanroep in de verbindingsfase verwijderd en wordt er een fout met de code CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTEDgegenereerd.

Gebruikers kunnen echter deelnemen aan een gesprek, zelfs als ze cameramachtigingen weigeren. De UI-bibliotheek schakelt de camerafunctionaliteit uit wanneer de cameramachtiging wordt geweigerd. De standaardconfiguratie-API voor de camera heeft dus geen invloed op de aanroepende ervaring. Gebruikers kunnen genieten van het effect van de standaardconfiguratie-API voor de camera na het verlenen van de cameramachtiging.

U wordt aangeraden de microfoonmachtiging te verwerken. Als gebruikers deelnemen aan het gesprek met de camera die standaard is ingeschakeld, wordt u aangeraden ook de cameramachtiging af te handelen.

Netwerkfouten

Als er een netwerkonderbreking optreedt tijdens een oproep of een oproep wordt verbroken, wordt de UI-bibliotheek gesloten en wordt er een fout met de code CallCompositeErrorCode.CALL_END_FAILEDgegenereerd.

Als een gebruiker geen netwerkverbinding heeft en probeert deel te nemen aan de oproep nadat het installatiescherm is overgeslagen, wordt de UI-bibliotheek gesloten in de fase voor het verbinden van oproepen en treedt er een fout op met de code CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE. Om deze fout te voorkomen, raden we u aan uw toepassing zo te configureren dat de netwerkbeschikbaarheid wordt gecontroleerd voordat gebruikers deelnemen aan een oproep.

Als u foutevenementen wilt ontvangen, belt u setOnErrorHandler met CallComposite.

De volgende error waarden kunnen naar de fouthandler worden verzonden:

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

Zie de opensource iOS UI-bibliotheek en de voorbeeldtoepassingscode voor meer informatie.

Optie om het installatiescherm over te slaan

LocalOptions is een opties-wrapper waarmee de mogelijkheid van de UI-bibliotheek wordt ingesteld om het installatiescherm over te slaan met behulp van een Booleaanse waarde. Standaard is de mogelijkheid om het installatiescherm over te slaan ingesteld op false. U moet instellen skipSetupScreen met een true Booleaanse waarde om de ervaring van het overslaan van het installatiescherm te bieden.

Het is raadzaam om uw toepassing zo te bouwen dat wanneer een gebruiker probeert deel te nemen aan een gesprek, de microfoonmachtiging al is verleend voor een soepele deelname-ervaring.

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

Als u de functie wilt gebruiken, geeft u de Booleaanse waarde door aan skipSetupScreen LocalOptions en injecteert u deze in callComposite.launch.

let localOptions = LocalOptions(skipSetupScreen: true)

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

Standaardopties voor camera- en microfoonconfiguratie

Standaard biedt het installatiescherm gebruikers een optie om camera- en microfooninstellingen te configureren voordat ze deelnemen aan een gesprek. Wanneer u het installatiescherm instelt om deel te nemen aan een gesprek, hebben gebruikers die optie niet totdat ze aan het gesprek deelnemen.

U kunt een Booleaanse waarde doorgeven en cameraOn microphoneOn de camera en microfoon in- of uitschakelen voordat gebruikers deelnemen aan een gesprek. De functionaliteit van het beheren van de standaardstatus van de camera en microfoon wordt niet beïnvloed als een gebruiker respectievelijk de machtiging verleent voor elk van deze camera's.

Beide zijn standaard cameraOn microphoneOn ingesteld op false. U kunt deze functionaliteit zelfs gebruiken met de standaardervaring voor het deelnemen aan oproepen in de gebruikersinterfacebibliotheek. In dat geval worden de camera en microfoon in- of uitgeschakeld op het installatiescherm volgens de configuratie die u hebt ingesteld.

Als u de standaardstatus van de camera en microfoon wilt instellen, geeft u de Booleaanse waarde door met cameraOn en microphoneOn LocalOptions injecteert u deze in callComposite.launch.

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

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

Afhandeling van machtigingen

U wordt aangeraden gebruikers toe te staan deel te nemen aan een gesprek met microfoon- en cameramachtigingen om het installatiescherm te overslaan met standaardconfiguratie-API's voor de microfoon en camera. Als u de machtigingen van de gebruiker niet afhandelt, probeert de UI-bibliotheek deze voor u te verwerken.

Gebruikers moeten de microfoonmachtiging inschakelen om deel te nemen aan een gesprek. Als gebruikers proberen deel te nemen aan een gesprek nadat ze de microfoonmachtiging hebben geweigerd, wordt de aanroep in de verbindingsfase verwijderd en wordt er een microphonePermissionNotGranted fout gegenereerd.

Gebruikers kunnen echter deelnemen aan een gesprek, zelfs als ze cameramachtigingen weigeren. De UI-bibliotheek schakelt de camerafunctionaliteit uit wanneer de cameramachtiging wordt geweigerd. De standaardconfiguratie-API voor de camera heeft dus geen invloed op de aanroepende ervaring. Gebruikers kunnen genieten van het effect van de standaardconfiguratie-API voor de camera na het verlenen van de cameramachtiging.

U wordt aangeraden de microfoonmachtiging te verwerken. Als gebruikers deelnemen aan het gesprek met de camera die standaard is ingeschakeld, wordt u aangeraden ook de cameramachtiging af te handelen.

Netwerkfouten

Als er een netwerkonderbreking optreedt tijdens een oproep of een oproep wordt verbroken, wordt de UI-bibliotheek gesloten en wordt er een callEndFailed fout gegenereerd.

Als een gebruiker geen netwerkverbinding heeft en probeert deel te nemen aan de oproep nadat het installatiescherm is overgeslagen, wordt de UI-bibliotheek gesloten in de fase voor oproepverbinding en treedt er een networkConnectionNotAvailable fout op. Om deze fout te voorkomen, raden we u aan uw toepassing zo te configureren dat de netwerkbeschikbaarheid wordt gecontroleerd voordat gebruikers deelnemen aan een oproep.

U kunt sluitingen implementeren om te reageren op samengestelde gebeurtenissen. In het volgende voorbeeld ziet u een foutgebeurtenis voor een mislukte samengestelde samenstelling:

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

De volgende error waarden kunnen naar de fouthandler worden verzonden:

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

Volgende stappen