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
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Communication Services-resource. Een Communication Services-resource maken.
- Een gebruikerstoegangstoken om de aanroepclient in te schakelen. Een toegangstoken voor gebruikers ophalen.
- Optioneel: Voltooiing van de quickstart om aan de slag te gaan met de samengestelde UI-bibliotheek.
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.
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_GRANTED
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 fout met de code CallCompositeErrorCode.CALL_END_FAILED
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 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
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.
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