広告リクエストが行われた開始時刻と、広告が完全に読み込まれた終了時刻が必要なプロジェクトに取り組んでいます。広告の待ち時間を計算できるように。Google dfpとdoubleclickを使用しています。
更新: Phantomjs のような外部ライブラリから自分のウェブサイトを呼び出したくありません。js ファイルを編集し、広告読み込みの待ち時間を取得できるように、JavaScript ソリューションが必要です。ありがとう
広告リクエストが行われた開始時刻と、広告が完全に読み込まれた終了時刻が必要なプロジェクトに取り組んでいます。広告の待ち時間を計算できるように。Google dfpとdoubleclickを使用しています。
更新: Phantomjs のような外部ライブラリから自分のウェブサイトを呼び出したくありません。js ファイルを編集し、広告読み込みの待ち時間を取得できるように、JavaScript ソリューションが必要です。ありがとう
PhantomJS を使ってみてください。
ヘッドレスブラウザです。ブラウザのように使用できますが、プログラムで情報を取得できます。
PhantomJS、CasperJS、またはノード スクリプトを記述します。ブラウザでこれをアドホックに行っている場合は、ページの読み込み時にネットワーク タブを開いたままにしておくと、リクエストにかかった時間がわかるはずです。
コードを与えていないので、基本的な方法を説明します。
広告をロードする関数で、変数に現在のミリ秒を設定します (例: startTime = Date.now())。
次に、ロードしているメディアに応じて、onload イベント (画像の場合) またはビデオ、オーディオなどの loadstart および loadeddata イベントを使用できます。XHR 経由で呼び出される場合は、広告を挿入するための load イベントが既にあるはずです。ドムに。Date.now() をもう一度取得し、そこから starttime を減算します。
ロード時間があります。
リクエストを送信する直前の現在時刻と、読み込みが完了した直後の現在時刻を取得して、それらの時間を差し引いていただけますか?
var timeAfter;
var timeBefore = new Date().getTime() / 1000;
//make requests //
function callBack(){
// Completely load ad//
timeAfter = new Date().getTime() / 1000;
}
var latency = timeAfter - timeBefore;
それは秒単位ですが、数学をいじってミリ秒を得ることができます。
Chrome 開発ツールを使用することをお勧めします。ブラウザでcntr
+ shift
+を使用して、タイムラインまたはネットワークに移動しますi
ツールを使用して JS コード内の関数を呼び出すことはできませんが、速度に関しては非常に優れています。
この質問に対する回答は、スタック自体が既に利用可能です。
これらのリンクを参照してください。それらはうまくいけば質問に対する答えかもしれません。
chrome.webRequest APIのようなものを探しているかもしれません。AppNexus の Headerbid Expert Chrome 拡張機能は、これを使用してネットワーク トラフィックを調べる方法の良い例です。おそらく、需要側に基づいてネットワーク トラフィック用に独自のパターン マッチャーを展開する必要がありますが、「doubleclick.net」トラフィックを巧妙に解析してそのプロセスを自動化できるかもしれません。 MozillaとIEには、それぞれ独自の方法があります。
プラグインが探しているものでない場合は、単純にリクエスト プロトタイプを上書きできます。Soninなどの JavaScript テスト ツールで、この種のコードの例を見つける傾向があります。そこには通常、タイミングに関する例も含まれています。