Partage via


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

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

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

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

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

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

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

Étapes suivantes