Swift
概要
リモートストリームを購読し、割り当てる networkStatsDelegate これにより、統計情報のコールバックを受け取ることができます。iOSでは、動画、音声、およびメディアリンクの統計情報(ネットワーク状況を含む) イベント) は、単一の OTSubscriberKitNetworkStatsDelegate—Androidのように個別のリスナーオブジェクトではない。
コールバックの処理は、次のステップで実装されます。
1. ネットワーク統計デリゲートの登録とサブスクライブ
リモートストリームが作成されたら、 OTSubscriber、デリゲートを設定し、購読します:
コピー
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)")
}
}
| 代表者 | 提供内容 |
|---|---|
OTSubscriberDelegate |
接続のライフサイクル(加入者視点) |
OTSubscriberKitNetworkStatsDelegate |
動画・音声の統計情報、 メディアリンク 統計、 ネットワークの状態 イベント |
iOS限定: セット networkStatsDelegate にある。 契約者 例。個別の「メディアリンクリスナー」の登録は行われません—実装 mediaLinkStatsUpdated そして networkConditionChanged 同じデリゲート型上で。
2. ストリームが終了した際の状態をクリアする
ストリームが破棄された際に、オブザーバビリティの状態をリセットする:
コピー
func session(_ session: OTSession, streamDestroyed stream: OTStream) {
subscriber = nil
latestObservabilityStats = nil
latestMediaLinkSnapshot = nil
DispatchQueue.main.async {
self.subView = nil
}
}
で subscriberDidConnect, SwiftUI用のサブスクライバービューを割り当てます:
コピー
func subscriberDidConnect(toStream subscriberKit: OTSubscriberKit) {
if let view = subscriber?.view {
DispatchQueue.main.async {
self.subView = view
}
}
}
次へ: ネットワーク統計のデリゲートメソッドを実装し、オーバーレイ用のデータを統合します。
クライアントの観測可能性
Vonage Video SDK を使用して、クライアントの可観測性を活用し、ビデオ通話の品質メトリクスをリアルタイムで監視する方法をご紹介します。
手順
1
はじめに2
はじめに3
新規プロジェクトの作成4
iOS SDKの追加5
認証の設定6
カメラとマイクへのアクセス7
パブリッシャーで「送信者統計」を有効にする8
オブザーバビリティ・リスナーの登録とサブスクライブ9
動画統計情報の取り扱い10
UIに統計情報を表示する11
アプリの実行12
結論