Integre o TelecomManager à biblioteca da interface do usuário
A Biblioteca de Interface do Usuário dos Serviços de Comunicação do Azure fornece suporte pronto para uso para TelecomManager. Os desenvolvedores podem fornecer sua própria configuração para TelecomManager a ser usado para a biblioteca de interface do usuário.
Neste artigo, você aprenderá a configurar o TelecomManager corretamente usando a biblioteca de interface do usuário em seu aplicativo.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso de Serviços de Comunicação implantado. Crie um recurso de Serviços de Comunicação.
- Um token de acesso de usuário para habilitar o cliente de chamada. Obtenha um token de acesso de usuário.
- Opcional: conclusão do Guia de início rápido para introdução aos compostos da Biblioteca da Interface do Usuário.
Para obter mais informações, consulte a biblioteca de interface do usuário do Android de código aberto e o código do aplicativo de exemplo.
Configurar a integração do TelecomManager
O SDK de Chamada dos Serviços de Comunicação do Azure dá suporte à integração do TelecomManager. Você pode habilitar essa integração na Biblioteca da Interface do Usuário configurando uma instância do CallCompositeTelecomManagerOptions
. Para obter mais informações, consulte Integrar com o TelecomManager.
CallCompositeTelecomManagerIntegrationMode
fornece opções para SDK_PROVIDED_TELECOM_MANAGER
e APPLICATION_IMPLEMENTED_TELECOM_MANAGER
. SDK_PROVIDED_TELECOM_MANAGER
requer phoneAccountId
e usa a implementação de chamar SDK. APPLICATION_IMPLEMENTED_TELECOM_MANAGER
é para se TelecomManager está integrado na aplicação.
val callComposite: CallComposite = CallCompositeBuilder()
.telecomManagerOptions(CallCompositeTelecomManagerOptions(
CallCompositeTelecomManagerIntegrationMode.SDK_PROVIDED_TELECOM_MANAGER,
"app_id"
)).build()
API de retenção e retomada
Para APPLICATION_IMPLEMENTED_TELECOM_MANAGER
uso hold
e resume
para gerenciar o estado da chamada.
callComposite.hold()?.whenComplete { _, error -> }
callComposite.resume()?.whenComplete { _, error -> }