Интеграция TelecomManager в библиотеку пользовательского интерфейса
Библиотека пользовательского интерфейса Службы коммуникации Azure предоставляет поддержку для TelecomManager. Разработчики могут предоставить собственную конфигурацию для TelecomManager, которая будет использоваться для библиотеки пользовательского интерфейса.
Из этой статьи вы узнаете, как правильно настроить TelecomManager с помощью библиотеки пользовательского интерфейса в приложении.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Развернутый ресурс Служб коммуникации. Создайте ресурс Служб коммуникации.
- Маркер доступа пользователя для включения клиента для вызовов. Получите маркер доступа пользователя.
- Необязательно. Завершение краткого руководства по началу работы с составными компонентами библиотеки пользовательского интерфейса.
Дополнительные сведения см. в библиотеке пользовательского интерфейса Android с открытым исходным кодом и образце кода приложения.
Настройка интеграции TelecomManager
Пакет SDK для звонков Службы коммуникации Azure поддерживает интеграцию TelecomManager. Эту интеграцию можно включить в библиотеке пользовательского CallCompositeTelecomManagerOptions
интерфейса, настроив экземпляр. Дополнительные сведения см. в разделе "Интеграция с TelecomManager".
CallCompositeTelecomManagerIntegrationMode
предоставляет параметры для SDK_PROVIDED_TELECOM_MANAGER
и APPLICATION_IMPLEMENTED_TELECOM_MANAGER
. SDK_PROVIDED_TELECOM_MANAGER
требует phoneAccountId
и использует реализацию из вызывающего пакета SDK. APPLICATION_IMPLEMENTED_TELECOM_MANAGER
имеет значение, если TelecomManager интегрирован в приложение.
val callComposite: CallComposite = CallCompositeBuilder()
.telecomManagerOptions(CallCompositeTelecomManagerOptions(
CallCompositeTelecomManagerIntegrationMode.SDK_PROVIDED_TELECOM_MANAGER,
"app_id"
)).build()
API удержания и возобновления
Для APPLICATION_IMPLEMENTED_TELECOM_MANAGER
использования hold
и resume
управления состоянием вызова.
callComposite.hold()?.whenComplete { _, error -> }
callComposite.resume()?.whenComplete { _, error -> }