Visão geral
Inscreva-se em um fluxo remoto e atribua networkStatsDelegate para que você receba notificações de estatísticas. No iOS, estatísticas de vídeo, áudio e links de mídia (incluindo as condições da rede eventos) são fornecidos por meio de um único OTSubscriberKitNetworkStatsDelegate—e não objetos de escuta separados, como no Android.
O tratamento das chamadas de retorno é implementado na próxima etapa.
1. Inscrever-se e registrar o delegado de estatísticas de rede
Quando um fluxo remoto for criado, crie um OTSubscriber, definir delegados e se inscrever:
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 | O que ele oferece |
|---|---|
OTSubscriberDelegate |
Ciclo de vida da conexão, perspectiva do assinante |
OTSubscriberKitNetworkStatsDelegate |
Estatísticas de vídeo/áudio, link de mídia estatísticas, condição da rede eventos |
Específico para iOS: Conjunto networkStatsDelegate no assinante instância. Não há um registro separado para o “ouvinte de links de mídia” — implementar mediaLinkStatsUpdated e networkConditionChanged no mesmo tipo de delegado.
2. Limpar o estado quando a transmissão terminar
Redefinir o estado de observabilidade quando o fluxo for destruído:
func session(_ session: OTSession, streamDestroyed stream: OTStream) {
subscriber = nil
latestObservabilityStats = nil
latestMediaLinkSnapshot = nil
DispatchQueue.main.async {
self.subView = nil
}
}
Em subscriberDidConnect, atribua a visualização do assinante para o SwiftUI:
func subscriberDidConnect(toStream subscriberKit: OTSubscriberKit) {
if let view = subscriber?.view {
DispatchQueue.main.async {
self.subView = view
}
}
}
Próximo: Implementar os métodos delegados de estatísticas de rede e mesclar os dados para a sobreposição.
Observabilidade do cliente
Saiba como usar a observabilidade do cliente para monitorar métricas de qualidade em tempo real de uma videochamada com o Vonage Video SDK.