Ignorer l’écran d’installation dans une application
La bibliothèque d’interface utilisateur Azure Communication Services offre la possibilité de rejoindre un appel sans passer par l’écran d’installation. Il permet aux développeurs de créer une application de communication d’une manière qui permet aux utilisateurs de rejoindre un appel directement, sans aucune interaction utilisateur. La fonctionnalité offre également la possibilité de configurer l’état par défaut de la caméra et du microphone (activé ou désactivé) avant que les utilisateurs rejoignent un appel.
Dans cet article, vous allez apprendre à configurer la fonctionnalité correctement dans votre application.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Une ressource Communication Services déployée. Créez une ressource Communication Services.
- Un jeton d’accès utilisateur pour activer le client d’appel. Obtenez un jeton d’accès utilisateur.
- Facultatif : fin du guide de démarrage rapide pour la prise en main des composites de la bibliothèque d’interface utilisateur.
Paramétrage de la fonctionnalité
Pour plus d’informations, consultez la bibliothèque d’interface utilisateur Android open source et l’exemple de code d’application.
Option permettant d’ignorer l’écran d’installation
CallCompositeLocalOptions
est un wrapper d’options qui définit la capacité de la bibliothèque d’interface utilisateur à ignorer l’écran d’installation à l’aide d’un booléen. Par défaut, la possibilité d’ignorer l’écran d’installation est définie false
sur . Vous devez définir skipSetupScreen
avec une true
valeur booléenne pour fournir l’expérience d’ignorer l’écran d’installation.
Nous vous recommandons de créer votre application de telle manière que lorsqu’un utilisateur tente de rejoindre un appel, l’autorisation de microphone est déjà accordée pour une expérience de jointure fluide.
Pour utiliser la fonctionnalité, transmettez la valeur skipSetupScreen
booléenne à et CallCompositeLocalOptions
l’injectez dans callComposite.launch
.
import com.azure.android.communication.ui.calling.models.CallCompositeLocalOptions
val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
.setSkipSetupScreen(true)
callComposite.launch(callLauncherActivity, remoteOptions, localOptions)
Options par défaut pour la configuration de la caméra et du microphone
Par défaut, l’écran d’installation permet aux utilisateurs de configurer les paramètres de caméra et de microphone avant de rejoindre un appel. Lorsque vous configurez l’écran d’installation pour rejoindre un appel, les utilisateurs n’ont pas cette option tant qu’ils ne sont pas sur l’appel.
Vous pouvez transmettre une valeur booléenne avec cameraOn
et microphoneOn
activer ou désactiver la caméra et le microphone avant que les utilisateurs rejoignent un appel. La fonctionnalité de contrôle de l’état par défaut de la caméra et du microphone n’est pas affectée si un utilisateur accorde l’autorisation pour chacun d’eux respectivement.
Par défaut, les deux cameraOn
et microphoneOn
sont définis sur false
. Vous pouvez utiliser cette fonctionnalité même avec l’expérience de jointure d’appel par défaut de la bibliothèque d’interface utilisateur. Dans ce cas, la caméra et le microphone sont activés ou désactivés sur l’écran d’installation en fonction de la configuration que vous avez définie.
Pour définir l’état par défaut de la caméra et du microphone, transmettez la valeur booléenne avec cameraOn
et microphoneOn
pour CallCompositeLocalOptions
l’injecter dans callComposite.launch
.
import com.azure.android.communication.ui.calling.models.CallCompositeLocalOptions
val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
.setMicrophoneOn(true)
.setCameraOn(true)
callComposite.launch(callLauncherActivity, remoteOptions, localOptions)
Gestion des autorisations
Nous vous recommandons de permettre aux utilisateurs de rejoindre un appel avec l’autorisation microphone et caméra accordée pour utiliser la fonctionnalité d’ignorer l’écran d’installation avec les API de configuration par défaut pour le microphone et la caméra. Si vous ne gérez pas les autorisations de l’utilisateur, la bibliothèque d’interface utilisateur tente de les gérer pour vous.
Les utilisateurs doivent autoriser le microphone à rejoindre un appel. Si les utilisateurs essaient de joindre un appel après avoir refusé l’autorisation du microphone, la bibliothèque d’interface utilisateur supprime l’appel à l’étape de connexion et génère une erreur avec le code CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTED
.
Toutefois, les utilisateurs peuvent rejoindre un appel même s’ils refusent l’autorisation de caméra. La bibliothèque d’interface utilisateur désactive la fonctionnalité de l’appareil photo lorsque l’autorisation de l’appareil photo est refusée. Par conséquent, l’API de configuration par défaut de l’appareil photo n’affecte pas l’expérience d’appel. Les utilisateurs peuvent profiter de l’effet de l’API de configuration par défaut pour l’appareil photo après avoir accordé l’autorisation de la caméra.
Nous vous recommandons de gérer l’autorisation de microphone. Si les utilisateurs rejoignent l’appel avec l’appareil photo activé par défaut, nous vous recommandons de gérer également l’autorisation de la caméra.
Erreurs réseau
Si une interruption réseau se produit pendant un appel ou qu’un appel tombe, la bibliothèque d’interface utilisateur ferme et génère une erreur avec le code CallCompositeErrorCode.CALL_END_FAILED
.
Si un utilisateur n’a pas de connexion réseau et tente de rejoindre l’appel après avoir ignoré l’écran d’installation, la bibliothèque d’interface utilisateur se ferme à l’étape de connexion des appels et génère une erreur avec le code CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE
. Pour éviter cette erreur, nous vous recommandons de configurer votre application pour case activée disponibilité du réseau avant que les utilisateurs rejoignent un appel.
Pour recevoir des événements d’erreur, appelez setOnErrorHandler
avec CallComposite
.
Les valeurs error
suivantes peuvent être envoyées au gestionnaire d’erreurs :
microphonePermissionNotGranted
networkConnectionNotAvailable
Pour plus d’informations, consultez la bibliothèque d’interface utilisateur iOS open source et l’exemple de code d’application.
Option permettant d’ignorer l’écran d’installation
LocalOptions
est un wrapper d’options qui définit la capacité de la bibliothèque d’interface utilisateur à ignorer l’écran d’installation à l’aide d’un booléen. Par défaut, la possibilité d’ignorer l’écran d’installation est définie false
sur . Vous devez définir skipSetupScreen
avec une true
valeur booléenne pour fournir l’expérience d’ignorer l’écran d’installation.
Nous vous recommandons de créer votre application de telle manière que lorsqu’un utilisateur tente de rejoindre un appel, l’autorisation de microphone est déjà accordée pour une expérience de jointure fluide.
Pour utiliser la fonctionnalité, transmettez la valeur skipSetupScreen
booléenne à et LocalOptions
l’injectez dans callComposite.launch
.
let localOptions = LocalOptions(skipSetupScreen: true)
callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)
Options par défaut pour la configuration de la caméra et du microphone
Par défaut, l’écran d’installation permet aux utilisateurs de configurer les paramètres de caméra et de microphone avant de rejoindre un appel. Lorsque vous configurez l’écran d’installation pour rejoindre un appel, les utilisateurs n’ont pas cette option tant qu’ils ne sont pas sur l’appel.
Vous pouvez transmettre une valeur booléenne avec cameraOn
et microphoneOn
activer ou désactiver la caméra et le microphone avant que les utilisateurs rejoignent un appel. La fonctionnalité de contrôle de l’état par défaut de la caméra et du microphone n’est pas affectée si un utilisateur accorde l’autorisation pour chacun d’eux respectivement.
Par défaut, les deux cameraOn
et microphoneOn
sont définis sur false
. Vous pouvez utiliser cette fonctionnalité même avec l’expérience de jointure d’appel par défaut de la bibliothèque d’interface utilisateur. Dans ce cas, la caméra et le microphone sont activés ou désactivés sur l’écran d’installation en fonction de la configuration que vous avez définie.
Pour définir l’état par défaut de la caméra et du microphone, transmettez la valeur booléenne avec cameraOn
et microphoneOn
pour LocalOptions
l’injecter dans callComposite.launch
.
let localOptions = LocalOptions(cameraOn: true, microphoneOn: true)
callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)
Gestion des autorisations
Nous vous recommandons de permettre aux utilisateurs de rejoindre un appel avec l’autorisation microphone et caméra accordée pour utiliser la fonctionnalité d’ignorer l’écran d’installation avec les API de configuration par défaut pour le microphone et la caméra. Si vous ne gérez pas les autorisations de l’utilisateur, la bibliothèque d’interface utilisateur tente de les gérer pour vous.
Les utilisateurs doivent autoriser le microphone à rejoindre un appel. Si les utilisateurs tentent de rejoindre un appel après avoir refusé l’autorisation du microphone, la bibliothèque d’interface utilisateur supprime l’appel à l’étape de connexion et génère une microphonePermissionNotGranted
erreur.
Toutefois, les utilisateurs peuvent rejoindre un appel même s’ils refusent l’autorisation de caméra. La bibliothèque d’interface utilisateur désactive la fonctionnalité de l’appareil photo lorsque l’autorisation de l’appareil photo est refusée. Par conséquent, l’API de configuration par défaut de l’appareil photo n’affecte pas l’expérience d’appel. Les utilisateurs peuvent profiter de l’effet de l’API de configuration par défaut pour l’appareil photo après avoir accordé l’autorisation de la caméra.
Nous vous recommandons de gérer l’autorisation de microphone. Si les utilisateurs rejoignent l’appel avec l’appareil photo activé par défaut, nous vous recommandons de gérer également l’autorisation de la caméra.
Erreurs réseau
Si une interruption réseau se produit pendant un appel ou qu’un appel tombe, la bibliothèque d’interface utilisateur ferme et génère une callEndFailed
erreur.
Si un utilisateur n’a pas de connexion réseau et tente de rejoindre l’appel après avoir ignoré l’écran d’installation, la bibliothèque d’interface utilisateur se ferme à l’étape de connexion des appels et génère une networkConnectionNotAvailable
erreur. Pour éviter cette erreur, nous vous recommandons de configurer votre application pour case activée disponibilité du réseau avant que les utilisateurs rejoignent un appel.
Vous pouvez implémenter les clôtures pour agir sur les événements composites. L’exemple suivant montre un événement d’erreur pour un composite ayant échoué :
callComposite?.events.onError = { error in
print("CallComposite failed with error:\(error)")
}
Les valeurs error
suivantes peuvent être envoyées au gestionnaire d’erreurs :
microphonePermissionNotGranted
networkConnectionNotAvailable