Integrar o TelecomManager à Biblioteca de 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 o TelecomManager. Os desenvolvedores podem usar sua própria configuração para o TelecomManager na Biblioteca de Interface do Usuário.
Nesse artigo, você aprende como configurar o TelecomManager corretamente usando a Biblioteca de Interface do Usuário em seu aplicativo.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso dos Serviços de Comunicação implantado. Crie um recurso dos Serviços de Comunicação.
- Um token de acesso do usuário para habilitar o cliente de chamada. Obter um token de acesso do usuário.
- Opcional: Conclusão do Início Rápido para introdução às composições da Biblioteca de Interface do Usuário.
Para obter mais informações, veja Biblioteca de UI do Android de código aberto e o código de aplicativo de exemplo.
Configurar a integração ao TelecomManager
O SDK de chamadas dos Serviços de Comunicação do Azure dá suporte à integração ao TelecomManager. Você pode habilitar essa integração na Biblioteca de Interface do Usuário configurando uma instância de 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
exige phoneAccountId
e usa a implementação do SDK de chamada. APPLICATION_IMPLEMENTED_TELECOM_MANAGER
será para quando o TelecomManager estiver integrado ao aplicativo.
val callComposite: CallComposite = CallCompositeBuilder()
.telecomManagerOptions(CallCompositeTelecomManagerOptions(
CallCompositeTelecomManagerIntegrationMode.SDK_PROVIDED_TELECOM_MANAGER,
"app_id"
)).build()
Reter e retomar API
Para APPLICATION_IMPLEMENTED_TELECOM_MANAGER
usar hold
e resume
para gerenciar o estado de chamada.
callComposite.hold()?.whenComplete { _, error -> }
callComposite.resume()?.whenComplete { _, error -> }