Integrare TelecomManager nella libreria dell'interfaccia utente
La libreria dell'interfaccia utente di Servizi di comunicazione di Azure offre supporto predefinito per TelecomManager. Gli sviluppatori possono fornire la propria configurazione per TelecomManager da usare per la libreria dell'interfaccia utente.
Questo articolo illustra come configurare correttamente TelecomManager usando la libreria dell'interfaccia utente nell'applicazione.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa di Servizi di comunicazione distribuita. Creare una risorsa di Servizi di comunicazione.
- Token di accesso utente per abilitare il client di chiamata. Ottenere un token di accesso utente.
- Facoltativo: completamento della Guida introduttiva per iniziare a usare i compositi della libreria dell'interfaccia utente.
Per altre informazioni, vedere la libreria dell'interfaccia utente Android open source e il codice dell'applicazione di esempio.
Configurare l'integrazione di TelecomManager
L'SDK di chiamata dei Servizi di comunicazione di Azure supporta l'integrazione di TelecomManager. È possibile abilitare questa integrazione nella libreria dell'interfaccia utente configurando un'istanza di CallCompositeTelecomManagerOptions
. Per altre informazioni, vedere Integrare con TelecomManager.
CallCompositeTelecomManagerIntegrationMode
offre opzioni per SDK_PROVIDED_TELECOM_MANAGER
e APPLICATION_IMPLEMENTED_TELECOM_MANAGER
. SDK_PROVIDED_TELECOM_MANAGER
richiede phoneAccountId
e usa l'implementazione dell'SDK di chiamata. APPLICATION_IMPLEMENTED_TELECOM_MANAGER
indica se TelecomManager è integrato nell'applicazione.
val callComposite: CallComposite = CallCompositeBuilder()
.telecomManagerOptions(CallCompositeTelecomManagerOptions(
CallCompositeTelecomManagerIntegrationMode.SDK_PROVIDED_TELECOM_MANAGER,
"app_id"
)).build()
API di blocco e ripresa
Per APPLICATION_IMPLEMENTED_TELECOM_MANAGER
usare hold
e resume
per gestire lo stato delle chiamate.
callComposite.hold()?.whenComplete { _, error -> }
callComposite.resume()?.whenComplete { _, error -> }