ネットワーク接続の使用状況データを取得する方法 (HTML)
[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]
このトピックでは、Windows.Networking.Connectivity 名前空間のクラスを使って、特定の期間を対象にネットワーク接続の帯域幅の使用状況情報にアクセスする方法を紹介します。
接続プロファイルの取得や、これらのオブジェクトを使った情報へのアクセスの一般的なガイダンスについては、「ネットワーク接続情報を取得する方法」をご覧ください。
理解しておく必要があること
テクノロジ
必要条件
次の例は、JavaScript で記述されており、ネットワーク情報のサンプルに基づいています。 JavaScript を使った Windows ランタイム アプリの作成についての一般的なヘルプは、「JavaScript を使った初めての Windows ランタイム アプリの作成」をご覧ください。
過去 1 時間のインターネット接続コスト データの取得
次の例の関数では、インターネット接続の ConnectionProfile を取得します。必要なデータを取得するために、システムの DateTime (currTime)、startTime 値が getNetworkUsageAsync メソッドに渡されます。要求した対象期間に送受信されたデータ量 (バイト単位) を含んだ NetworkUsage オブジェクトが返されます。
モバイル アプリの場合、getNetworkUsageAsync の呼び出しに RoamingStates 値を追加すると、要求対象とするトラフィック データをデバイスがローミング中の時間に限定することができます。
var networkInfo = Windows.Networking.Connectivity.NetworkInformation;
function DisplayLocalDataUsage() {
var currTime = new Date();
//Set start Time to 1 hour (3600000ms) before current time
var startTime = new Date(currTime - 3600000);
//Get the ConnectionProfile that is currently used to connect to the Internet
var connectionProfile = networkInfo.getInternetConnectionProfile();
var LocalUsage = connectionProfile.getNetworkUsageAsync(startTime, currTime);
var lclString = "Local Data Usage: \n\r";
lclString += "Bytes Sent: " + LocalUsage.bytesSent + "\n\r";
lclString += "Bytes Received: " + LocalUsage.bytesReceived + "\n\r";
}
注 インターネット接続を提供していない接続についても、同様の手順で特定期間のコスト情報を取得することができます。違うのは、利用できる接続プロファイルを最初に列挙するときに、NetworkInformation.getConnectionProfiles を使う点だけです。
Windows ストア アプリと Windows Phone ストア アプリの動作の違い
GetNetworkUsageAsync メソッドは、Windows 8.1 と Windows Phone 8.1 で動作が異なります。GetNetworkUsageAsync メソッドが Windows Phone で呼び出された場合、NetworkUsage オブジェクトの返される配列の ConnectionDuration プロパティは常に 0 に設定されます。このプロパティは、Windows Phone でサポートされないためです。
関連トピック
その他
JavaScript を使った初めての Windows ランタイム アプリの作成
リファレンス
ConnectionProfile.getNetworkUsageAsync
NetworkInformation.getConnectionProfiles
Windows.Networking.Connectivity
サンプル