Visión general
Suscríbete a una transmisión remota y asigna networkStatsDelegate para que recibas notificaciones sobre las estadísticas. En iOS, las estadísticas de vídeo, audio y enlaces multimedia (incluidas las relativas al estado de la red eventos) se distribuyen a través de un único OTSubscriberKitNetworkStatsDelegate—no se trata de objetos de escucha independientes, como en Android.
La gestión de las llamadas de retorno se implementa en el siguiente paso.
1. Suscribirse y registrar el delegado de estadísticas de red
Cuando se crea un flujo remoto, crea un OTSubscriber, configurar los delegados y suscribirse:
func session(_ session: OTSession, streamCreated stream: OTStream) {
guard subscriber == nil else { return }
let subscriber = OTSubscriber(stream: stream, delegate: self)
subscriber.networkStatsDelegate = self // OTSubscriberKitNetworkStatsDelegate
self.subscriber = subscriber
var error: OTError?
session.subscribe(subscriber, error: &error)
if let error {
print("Subscribe error: \(error)")
}
}
| Delegado | Qué ofrece |
|---|---|
OTSubscriberDelegate | Ciclo de vida de la conexión, perspectiva del abonado |
OTSubscriberKitNetworkStatsDelegate | Estadísticas de vídeo y audio, enlace multimedia estadísticas, estado de la red eventos |
Específico para iOS: Establecer networkStatsDelegate en el abonado Por ejemplo. No hay ningún registro independiente de «escuchador de enlaces multimedia»; se implementa mediaLinkStatsUpdated y networkConditionChanged del mismo tipo de delegado.
2. Borrar el estado cuando finalice la transmisión
Restablecer el estado de observabilidad cuando se elimine el flujo:
func session(_ session: OTSession, streamDestroyed stream: OTStream) {
subscriber = nil
latestObservabilityStats = nil
latestMediaLinkSnapshot = nil
DispatchQueue.main.async {
self.subView = nil
}
}
En subscriberDidConnect, asigna la vista de suscriptor para SwiftUI:
func subscriberDidConnect(toStream subscriberKit: OTSubscriberKit) {
if let view = subscriber?.view {
DispatchQueue.main.async {
self.subView = view
}
}
}
Siguiente: Implementa los métodos delegados de estadísticas de red y fusiona los datos para la superposición.
Observabilidad del cliente
Descubre cómo utilizar la observabilidad del cliente para supervisar métricas de calidad en tiempo real durante una videollamada con el SDK de Vonage Video.