Swift

Visión general

Mostrar las métricas de observabilidad combinadas en la interfaz de usuario de la llamada, para que puedas ver datos de calidad en tiempo real durante una sesión. En función de lo que observes, puedes añadir umbrales más adelante (por ejemplo, mostrar un mensaje de conexión deficiente cuando networkDegradationSource es .local).

Mostrar estadísticas en la interfaz de usuario

Utiliza uno pequeño ObservabilityStats modelo en tu proyecto para almacenar los campos de superposición (ancho de banda, pérdida de paquetes, origen de la degradación, etiquetas de estado de la red).

1. Vistas de editor y suscriptor del servidor

Reutilizar un UIViewRepresentable envoltura (como en el Videochat básico (Swift) (tutorial) para insertar OTPublisher y OTSubscriber vistas en SwiftUI:

2. Superposición de estadísticas

Alambre @Published var latestObservabilityStats en VonageVideoManager Por lo tanto, SwiftUI se actualiza cuando las llamadas de retorno de los delegados actualizan el estado en la cola principal.

3. Ciclo de vida de una aplicación para iOS

Específico para iOS: A diferencia del SDK de Android, session.onPause() / onResume(), las aplicaciones para iOS suelen basarse en ScenePhase, las interrupciones en las sesiones de audio y tu propia política a la hora de pasar la aplicación a segundo plano durante una llamada. Si la aplicación pasa a segundo plano, las estadísticas pueden pausarse o detenerse hasta que la sesión vuelva a estar activa; prueba esto en un dispositivo físico para obtener un comportamiento realista de la red.

Siguiente: Ejecuta el programa con un segundo participante y comprueba que se actualizan las superposiciones.