Поделиться через


Пропустить экран установки в приложении

Библиотека пользовательского интерфейса Службы коммуникации Azure предлагает возможность присоединиться к вызову без передачи через экран установки. Он позволяет разработчикам создавать коммуникационные приложения таким образом, чтобы пользователи могли напрямую присоединяться к вызову без какого-либо взаимодействия с пользователем. Эта функция также предоставляет возможность настроить состояние камеры и микрофона по умолчанию перед присоединением пользователей к вызову.

Из этой статьи вы узнаете, как правильно настроить функцию в приложении.

Необходимые компоненты

Настройка функции

Дополнительные сведения см. в библиотеке пользовательского интерфейса Android с открытым исходным кодом и образце кода приложения.

Параметр пропускать экран установки

CallCompositeLocalOptions — это оболочка параметров, которая задает возможность библиотеки пользовательского интерфейса пропускать экран установки с помощью логическое значение. По умолчанию для пропуска экрана установки задано значение false.. Необходимо задать skipSetupScreen true логическое значение, чтобы обеспечить возможность пропуска экрана установки.

Рекомендуется создать приложение таким образом, чтобы при попытке пользователя присоединиться к вызову разрешение микрофона уже предоставляется для плавного соединения.

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

Чтобы использовать эту функцию, передайте логическое значение и skipSetupScreen CallCompositeLocalOptions вставьте его в callComposite.launch.

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Параметры по умолчанию для конфигурации камеры и микрофона

По умолчанию экран установки позволяет пользователям настраивать параметры камеры и микрофона перед присоединением к вызову. При настройке экрана установки для присоединения к вызову пользователи не имеют этого параметра до тех пор, пока они не будут на вызове.

Вы можете передать логическое значение и cameraOn microphoneOn включить камеру и микрофон перед присоединением пользователей к вызову. Функции управления состоянием камеры и микрофона по умолчанию не затрагиваются, если пользователь предоставляет разрешение для каждого из них соответственно.

По умолчанию для обоих cameraOn microphoneOn параметров задано значение false. Эту функцию можно использовать даже при подключении вызовов библиотеки пользовательского интерфейса по умолчанию. В этом случае камера и микрофон включены или отключены на экране установки в соответствии с заданной конфигурацией.

Чтобы задать состояние камеры и микрофона по умолчанию, передайте логическое значение и cameraOn microphoneOn вставьте CallCompositeLocalOptions его callComposite.launchв .

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

val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
    .setMicrophoneOn(true)
    .setCameraOn(true)

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Обработка разрешений

Рекомендуется разрешить пользователям присоединяться к вызову с разрешением микрофона и камеры, чтобы использовать функцию пропуска экрана установки с помощью API конфигурации по умолчанию для микрофона и камеры. Если вы не обрабатываете разрешения пользователя, библиотека пользовательского интерфейса пытается обработать их.

Пользователи должны включить разрешение микрофона для присоединения к вызову. Если пользователи пытаются присоединиться к вызову после запрета разрешения микрофона, библиотека пользовательского интерфейса удаляет вызов на этапе подключения и выдает ошибку с кодом CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTED.

Однако пользователи могут присоединиться к вызову, даже если они запрещают разрешение камеры. Библиотека пользовательского интерфейса отключает функциональные возможности камеры, если разрешение камеры запрещено. Таким образом, API конфигурации по умолчанию для камеры не влияет на вызов. Пользователи могут наслаждаться эффектом API конфигурации по умолчанию для камеры после предоставления разрешения камеры.

Рекомендуется обрабатывать разрешение микрофона. Если пользователи присоединяются к вызову с камерой, включенной по умолчанию, рекомендуется также обрабатывать разрешение камеры.

Ошибки сети.

Если при вызове или удалении вызова происходит нарушение сети, библиотека пользовательского интерфейса закрывается и выдает ошибку с кодом CallCompositeErrorCode.CALL_END_FAILED.

Если у пользователя нет сетевого подключения и он пытается присоединиться к вызову после пропуска экрана установки, библиотека пользовательского интерфейса закрывается на этапе подключения вызовов и выдает ошибку с кодом CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE. Чтобы избежать этой ошибки, рекомендуется настроить приложение для проверка доступности сети перед присоединением пользователей к вызову.

Чтобы получить события ошибок, вызовите setOnErrorHandler с CallCompositeпомощью .

error Следующие значения могут быть отправлены обработчику ошибок:

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

Дополнительные сведения см. в библиотеке пользовательского интерфейса iOS с открытым исходным кодом и образце кода приложения.

Параметр пропускать экран установки

LocalOptions — это оболочка параметров, которая задает возможность библиотеки пользовательского интерфейса пропускать экран установки с помощью логическое значение. По умолчанию для пропуска экрана установки задано значение false.. Необходимо задать skipSetupScreen true логическое значение, чтобы обеспечить возможность пропуска экрана установки.

Рекомендуется создать приложение таким образом, чтобы при попытке пользователя присоединиться к вызову разрешение микрофона уже предоставляется для плавного соединения.

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

Чтобы использовать эту функцию, передайте логическое значение и skipSetupScreen LocalOptions вставьте его в callComposite.launch.

let localOptions = LocalOptions(skipSetupScreen: true)

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

Параметры по умолчанию для конфигурации камеры и микрофона

По умолчанию экран установки позволяет пользователям настраивать параметры камеры и микрофона перед присоединением к вызову. При настройке экрана установки для присоединения к вызову пользователи не имеют этого параметра до тех пор, пока они не будут на вызове.

Вы можете передать логическое значение и cameraOn microphoneOn включить камеру и микрофон перед присоединением пользователей к вызову. Функции управления состоянием камеры и микрофона по умолчанию не затрагиваются, если пользователь предоставляет разрешение для каждого из них соответственно.

По умолчанию для обоих cameraOn microphoneOn параметров задано значение false. Эту функцию можно использовать даже при подключении вызовов библиотеки пользовательского интерфейса по умолчанию. В этом случае камера и микрофон включены или отключены на экране установки в соответствии с заданной конфигурацией.

Чтобы задать состояние камеры и микрофона по умолчанию, передайте логическое значение и cameraOn microphoneOn вставьте LocalOptions его callComposite.launchв .

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

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

Обработка разрешений

Рекомендуется разрешить пользователям присоединяться к вызову с разрешением микрофона и камеры, чтобы использовать функцию пропуска экрана установки с помощью API конфигурации по умолчанию для микрофона и камеры. Если вы не обрабатываете разрешения пользователя, библиотека пользовательского интерфейса пытается обработать их.

Пользователи должны включить разрешение микрофона для присоединения к вызову. Если пользователи пытаются присоединиться к вызову после запрета разрешения микрофона, библиотека пользовательского интерфейса удаляет вызов на этапе подключения и выдает ошибку microphonePermissionNotGranted .

Однако пользователи могут присоединиться к вызову, даже если они запрещают разрешение камеры. Библиотека пользовательского интерфейса отключает функциональные возможности камеры, если разрешение камеры запрещено. Таким образом, API конфигурации по умолчанию для камеры не влияет на вызов. Пользователи могут наслаждаться эффектом API конфигурации по умолчанию для камеры после предоставления разрешения камеры.

Рекомендуется обрабатывать разрешение микрофона. Если пользователи присоединяются к вызову с камерой, включенной по умолчанию, рекомендуется также обрабатывать разрешение камеры.

Ошибки сети.

Если при вызове или удалении вызова происходит нарушение сети, библиотека пользовательского интерфейса закрывается и выдает ошибку callEndFailed .

Если у пользователя нет сетевого подключения и он пытается присоединиться к вызову после пропуска экрана установки, библиотека пользовательского интерфейса закрывается на этапе подключения вызовов и выдает ошибку networkConnectionNotAvailable . Чтобы избежать этой ошибки, рекомендуется настроить приложение для проверка доступности сети перед присоединением пользователей к вызову.

Вы можете реализовать закрытия для действий над составными событиями. В следующем примере показано событие ошибки для неудающегося составного элемента:

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

error Следующие значения могут быть отправлены обработчику ошибок:

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

Следующие шаги