統計情報¶
Sora Unity SDK の統計情報機能について説明します。
この機能を利用することで、接続状況や通信品質を把握することができます。
統計情報の取得機能について¶
統計情報の取得機能は、Sora.GetStats
メソッドを利用して取得することができます。
このメソッドは内部で WebRTC の RTCStatsReport を利用し、統計データを取得します。
利用方法¶
統計情報の取得は一定間隔に行うことを推奨します。
ここではコルーチンを使用して 10 秒間隔で統計情報を取得し Debug.Log に出力する方法を示します。
// Soraインスタンス
private Sora sora;
// 接続状態
// 接続状態を見て統計情報の取得を制御する
private State state;
private enum State
{
Init,
Started,
Disconnecting,
}
IEnumerator GetStats()
{
while (true)
{
// 10秒間隔で取得
yield return new WaitForSeconds(10);
// 接続中の場合のみ取得
if (state != State.Started)
{
continue;
}
sora.GetStats((stats) =>
{
// 注意: このコールバックは Unity メインスレッドとは別のスレッドで実行される
Debug.LogFormat("GetStats: {0}", stats);
});
}
}
Start() メソッドでコルーチンを開始します。
void Start()
{
StartCoroutine(GetStats());
}