Kotlin

Visão geral

Mostrar as métricas de observabilidade combinadas na parte superior da interface de chamada, para que qualquer pessoa na sessão possa ver dados de qualidade em tempo real. Isso permitirá que você visualize e analise como nossas estatísticas se comportam durante uma sessão de vídeo. Com base nisso, você poderá expandir ainda mais este exemplo por conta própria e definir limites para determinar quando exibir mensagens ao usuário (por exemplo, sobre conexão fraca).

Exibir estatísticas na interface do usuário

A amostra utiliza Estatísticas de Observabilidade modelo para reunir todos os dados de estatísticas; fique à vontade para usar um modelo semelhante em seu projeto. Para a interface do usuário, usamos o Jetpack Compose com o observabilityStats passou para VideoCallScreen. Quando as estatísticas não são nulas, uma sobreposição semitransparente exibe os campos:

@Composable
fun VideoCallScreen(
    subscriberView: View?,
    publisherView: View?,
    observabilityStats: ObservabilityStats? = null,
) {
    // ... publisher/subscriber AndroidView hosts ...
    if (observabilityStats != null) {
        StatsOverlay(stats = observabilityStats)
    }
}

Envie o estado da sua atividade:

setContent {
    VideoCallScreen(
        subscriberView = subscriberView,
        publisherView = publisherView,
        observabilityStats = latestObservabilityStats,
    )
}

Ciclo de vida e pausa/retomada da sessão

Encaminhe os eventos do ciclo de vida da atividade para a sessão, para que a mídia e as estatísticas continuem funcionando corretamente:

override fun onPause() {
    super.onPause()
    session?.onPause()
}

override fun onResume() {
    super.onResume()
    session?.onResume()
}