Пропустить экран установки в приложении
Библиотека пользовательского интерфейса Службы коммуникации Azure предлагает возможность присоединиться к вызову без передачи через экран установки. Он позволяет разработчикам создавать коммуникационные приложения таким образом, чтобы пользователи могли напрямую присоединяться к вызову без какого-либо взаимодействия с пользователем. Эта функция также предоставляет возможность настроить состояние камеры и микрофона по умолчанию перед присоединением пользователей к вызову.
Из этой статьи вы узнаете, как правильно настроить функцию в приложении.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Развернутый ресурс Служб коммуникации. Создайте ресурс Служб коммуникации.
- Маркер доступа пользователя для включения клиента для вызовов. Получите маркер доступа пользователя.
- Необязательно. Завершение краткого руководства по началу работы с составными компонентами библиотеки пользовательского интерфейса.
Настройка функции
Дополнительные сведения см. в библиотеке пользовательского интерфейса Android с открытым исходным кодом и образце кода приложения.
Параметр пропускать экран установки
CallCompositeLocalOptions
— это оболочка параметров, которая задает возможность библиотеки пользовательского интерфейса пропускать экран установки с помощью логическое значение. По умолчанию для пропуска экрана установки задано значение false
.. Необходимо задать skipSetupScreen
true
логическое значение, чтобы обеспечить возможность пропуска экрана установки.
Рекомендуется создать приложение таким образом, чтобы при попытке пользователя присоединиться к вызову разрешение микрофона уже предоставляется для плавного соединения.
Чтобы использовать эту функцию, передайте логическое значение и 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
Дополнительные сведения см. в библиотеке пользовательского интерфейса iOS с открытым исходным кодом и образце кода приложения.
Параметр пропускать экран установки
LocalOptions
— это оболочка параметров, которая задает возможность библиотеки пользовательского интерфейса пропускать экран установки с помощью логическое значение. По умолчанию для пропуска экрана установки задано значение false
.. Необходимо задать skipSetupScreen
true
логическое значение, чтобы обеспечить возможность пропуска экрана установки.
Рекомендуется создать приложение таким образом, чтобы при попытке пользователя присоединиться к вызову разрешение микрофона уже предоставляется для плавного соединения.
Чтобы использовать эту функцию, передайте логическое значение и 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