Kotlin

Gestionar estadísticas de vídeo

En este paso, gestionarás las respuestas de los enlaces de vídeo y multimedia de los suscriptores para diagnosticar los cortes en la reproducción y evaluar el estado de la red en tu aplicación.

Lo que vas a supervisar Cómo se puede utilizar
videoPacketsLost / videoBytesReceived Comprueba si la ruta de recepción presenta problemas (síntoma: interrupciones, bloqueos)
transport (ancho de banda de enlace descendente local) Sugerir «Parece que tu conexión es débil» cuando tu ancho de banda de descarga parece limitado
remotePublisherTransport (enlace ascendente remoto) Sugerir «Es posible que la conexión del otro participante sea inestable» cuando su ruta de envío parece estar limitada
networkDegradationSource Elige entre mensajería local o remota, o registra ambos valores de ancho de banda para el servicio de asistencia

1. Gestionar las estadísticas de vídeo de los suscriptores

Implementar SubscriberKit.VideoStatsListener para recibir métricas periódicas sobre el visionado de vídeos:

Las llamadas de retorno pueden llegar en un hilo en segundo plano. Envía las actualizaciones de la interfaz de usuario al hilo principal (como se ha indicado anteriormente) si controlas Compose o Views desde estos oyentes.

2. Gestionar las estadísticas de los enlaces multimedia

Implementar SubscriberKit.MediaLinkStatsListener.onMediaLinkStats & SubscriberKit.MediaLinkStatsListener.onNetworkConditionChanged en cuanto al ancho de banda de transporte y la fuente de degradación. Las puntuaciones del estado de la red también aparecen en transport y remotePublisherTransport en cada muestra periódica —véase Estado de la red.

Las estadísticas de vídeo y las de enlaces multimedia se envían mediante llamadas de retorno independientes. La muestra mantiene un MediaLinkSnapshot y lo integra al compilar o actualizar ObservabilityStats:

Ampliar MediaLinkSnapshot y ObservabilityStats con los nuevos campos (o asigna los valores enteros de las condiciones a las etiquetas de la superposición en el siguiente paso).

3. Responder a los eventos relacionados con el deterioro del estado de la red

Cuando el vídeo se entrecorta, onNetworkConditionChanged disparos contra un significativo cambio. Úsalo con networkDegradationSource para elegir el texto dirigido a los usuarios:

reason en onNetworkConditionChanged describe por qué se ha activado el evento (por ejemplo, un cambio en el ancho de banda o una pérdida de paquetes). Combínalo con networkCondition y networkConditionReason en transport para el análisis de datos.

Defina ObservabilityStats, MediaLinkSnapshoty fromVideoStats() en tu proyecto. El ejemplo ObservabilityStats.kt es un punto de partida.