Vue d'ensemble
S'abonner à un flux distant et attribuer networkStatsDelegate pour que vous receviez les notifications statistiques. Sur iOS, les statistiques relatives aux vidéos, à l'audio et aux liens multimédias (y compris l'état du réseau) événements) sont diffusés via un seul OTSubscriberKitNetworkStatsDelegate— et non pas des objets d'écoute distincts comme sur Android.
La gestion des callbacks sera mise en œuvre à l'étape suivante.
1. S'abonner et enregistrer le délégué des statistiques réseau
Lorsqu'un flux distant est créé, créer un OTSubscriber, définir les délégués et s'abonner :
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)")
}
}
| Délégué | Ce qu'il offre |
|---|---|
OTSubscriberDelegate |
Cycle de vie de la connexion, point de vue de l'abonné |
OTSubscriberKitNetworkStatsDelegate |
Statistiques vidéo/audio, lien vers le média statistiques, état du réseau événements |
Spécifique à iOS : Set (jeu de mots) networkStatsDelegate sur le abonné Par exemple. Il n'y a pas d'enregistrement distinct pour le « gestionnaire d'événements liés aux médias » — implémentation mediaLinkStatsUpdated et networkConditionChanged du même type de délégué.
2. Effacer l'état lorsque le flux prend fin
Réinitialiser l'état d'observabilité lorsque le flux est détruit :
func session(_ session: OTSession, streamDestroyed stream: OTStream) {
subscriber = nil
latestObservabilityStats = nil
latestMediaLinkSnapshot = nil
DispatchQueue.main.async {
self.subView = nil
}
}
En subscriberDidConnect, attribuez la vue « subscriber » à SwiftUI :
func subscriberDidConnect(toStream subscriberKit: OTSubscriberKit) {
if let view = subscriber?.view {
DispatchQueue.main.async {
self.subView = view
}
}
}
Suivant : Implémenter les méthodes déléguées des statistiques réseau et fusionner les données pour la couche superposée.
Observabilité du client
Découvrez comment utiliser l'observabilité côté client pour surveiller en temps réel les indicateurs de qualité d'un appel vidéo avec le SDK Vonage Video.