2013-09-27 62 views
1

我有一個網站只需流式傳輸視頻長達兩到三個小時 - 一旦頁面加載後就沒有用戶交互;我知道谷歌分析將實時功能的超時設置爲5分鐘。我想使用JavaScript保持頁面的活動狀態,直到瀏覽器關閉,這樣我才能得到準確的實時報告。我對js相當陌生,所以我正在尋找合適的代碼位... 謝謝谷歌Analytics(分析)實時活動頁面 - 保持活躍

回答

1

您應該實現與您的播放器API交互的事件以接收來自播放器的調用 - youtube和vimeo內置了javascript api,它可以發送事件,並且您可以在GA中捕獲它們並記錄事件 - 典型的用法是監視播放/暫停事件,以間隔或播放電影的百分比來跟蹤播放進度。

您可以檢查準備通過桑德耳布隆使用插件:

如果使用其他的球員,你可以使用這些插件作爲骨架來實現你自己的API調用。

如果您正在尋找心跳的解決方案,你可以簡單地去解決這樣一個問題:Does Google Analytics have a "heartbeat" function for long running web applications?

heartbeat-function-for-long-running-web-applicati 
function ga_heartbeat(){ 
    _gaq.push(['_trackEvent', 'Heartbeat', 'Heartbeat', '', 0, true]); 
    setTimeout(ga_heartbeat, 5*60*1000); 
} 
ga_heartbeat(); 

BUT!正如許多其他地方所提到的,GA對每個會話的請求數有限制 - 上限設置爲500,當頁面加載時,實際上有大約10-12個令牌可供使用,並且在每秒鐘內可以獲得更多 - 最多500 。這是Google的一個簡單的DDoS保護,在開發心跳時必須牢記這一點。

1

我認爲最簡單的方法是在用戶開始流式傳輸時發送重複事件。也有虛擬綜合瀏覽量,但它們會誇大總數並可能扭曲一些指標,所以我會堅持這些事件。

的代碼可能是這樣的:

setInterval(function(){ 
    _gaq.push(['_trackEvent', 'Video', 'Playing', 'Name of the video?']) 
},270000); 

數270000表示該間隔的毫秒 - 這樣的功能將被執行每4.5分鐘(270秒)。請記住,發送到Google Analytics的事件數量有限制(每次訪問500次點擊),所以如果有人正在觀看整天的流式視頻,最終可能會失去它們。否則,這應該是一個很好的解決方法,即使不是一個「乾淨」的事情,也可以工作。

使用此功能的好處是您可以發送其他數據與事件 - 如視頻名稱等希望這會有所幫助。

+0

是的,但我也想知道他們是否在網站上長時間5分鐘,但不一定要觀看嵌入的流。我想我正在尋找一個功能,從正在打開的頁面,將保持活着...... – ProgrammerBret