2013-09-27 176 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

相关问题