Übersicht
Einen Remote-Stream abonnieren und zuweisen networkStatsDelegate damit Sie Statistik-Callbacks erhalten. Unter iOS werden Statistiken zu Video, Audio und Medienlinks (einschließlich der Netzwerkbedingungen Veranstaltungen) werden über eine einzige OTSubscriberKitNetworkStatsDelegate—und nicht separate Listener-Objekte wie bei Android.
Die Callback-Verarbeitung wird im nächsten Schritt implementiert.
1. Den Netzwerkstatistik-Delegaten abonnieren und registrieren
Wenn ein Remote-Stream erstellt wird, erstelle einen OTSubscriber, Delegaten festlegen und abonnieren:
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)")
}
}
| Beauftragter | Was es bietet |
|---|---|
OTSubscriberDelegate |
Lebenszyklus einer Verbindung, aus Sicht des Teilnehmers |
OTSubscriberKitNetworkStatsDelegate |
Video-/Audio-Statistiken, Medienlink Statistiken, Netzwerkzustand Veranstaltungen |
iOS-spezifisch: Satz networkStatsDelegate über die Teilnehmer Beispiel: Es gibt keine separate Registrierung eines „Media-Link-Listeners“ – implementieren mediaLinkStatsUpdated und networkConditionChanged vom gleichen Delegatentyp.
2. Status löschen, wenn der Stream endet
Den Observability-Status zurücksetzen, wenn der Stream zerstört wird:
func session(_ session: OTSession, streamDestroyed stream: OTStream) {
subscriber = nil
latestObservabilityStats = nil
latestMediaLinkSnapshot = nil
DispatchQueue.main.async {
self.subView = nil
}
}
Unter subscriberDidConnect, weisen Sie die Abonnentenansicht für SwiftUI zu:
func subscriberDidConnect(toStream subscriberKit: OTSubscriberKit) {
if let view = subscriber?.view {
DispatchQueue.main.async {
self.subView = view
}
}
}
Weiter: Implementieren Sie die Delegate-Methoden für die Netzwerkstatistiken und führen Sie die Daten für das Overlay zusammen.
Beobachtbarkeit der Kunden
Erfahren Sie, wie Sie mithilfe der Client-Observability Qualitätskennzahlen für einen Videoanruf mit dem Vonage Video SDK in Echtzeit überwachen können.