1

我正在尝试在mediaelement.js音频播放器上实施Google Analytics事件跟踪。我已成功设法追踪页面上链接的点击次数,但我很想追踪有多少人真正收听音频(不提供只下载链接而没有音频播放器)。如何使用其插件和通用Google Analytics跟踪mediaelement.js上的事件

我相信我所做的一切都是正确的,但在我看来没有,因为它不工作。大会报告没有出现任何事件。我找不到很多的搜索结果。我在这个网站上发现了一个类似的问题(How to track events on mediaelement.js with Google Analytics),但它没有帮助我。

任何人都可以看到错误在哪里吗?也许我在这里做了一些根本性的错误。

下面是相关的HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript" src="XrefThemes/Theme1/src/jquery.js"></script> 
<script type="text/javascript" src="XrefThemes/Theme1/src/mediaelement-and-player.min.js"></script> 
<script type="text/javascript" src="XrefThemes/Theme1/src/mep-feature-googleanalytics.js"></script> 
<link rel="stylesheet" href="XrefThemes/Theme1/src/mediaelementplayer.css" /> 
<title> 
Doknr 1383519 
</title> 
</head> 
<body> 
<script> 

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

    ga('create', 'UA-37025154-3', 'auto', {'name': 'mv', 'allowLinker': true}); 
    ga('mv.require', 'linker'); 
    ga('mv.linker:autoLink', ['musikverket.se', 'musikverk.se', 'statensmusikverk.se', 'visarkiv.se', 'muslib.se', 'elektronmusikstudion.se', 'smus.se', 'dramawebben.se']); 
    ga('mv.require', 'displayfeatures'); 
    ga('mv.send', 'pageview'); 

</script> 

    <table> 
     <tr> 
     <td>Anmärkningar</td> 
     <td> 
      <div><audio controls="controls" type="audio/mpeg" style="width: 500px" src="http://xref.musikverk.se/visarkivetserver/getfile.aspx?file=audio/SVABA0001-0002.mp3"></audio><br><audio controls="controls" type="audio/mpeg" style="width: 500px" src="http://xref.musikverk.se/visarkivetserver/getfile.aspx?file=audio/SVABA0003-0004.mp3"></audio></div> 
     </td> 
     </tr> 
    </table> 
<script>$('video,audio').mediaelementplayer();</script> 
</body> 
</html> 

这里是js代码(即我发现这里:https://github.com/johndyer/mediaelement/blob/9d4ceefc75b9936cd32a1c17be761809bbbc0c16/src/js/mep-feature-universalgoogleanalytics.js)! (nyuen的指出,我已经错过了MV日前发出感谢它现在被修正。)

/* 
* analytics.js Google Analytics Plugin 
* Requires JQuery 
*/ 

(function($) { 

$.extend(mejs.MepDefaults, { 
    googleAnalyticsTitle: 'Test', 
    googleAnalyticsCategory: 'Mediafiles', 
    googleAnalyticsEventPlay: 'Play', 
    googleAnalyticsEventPause: 'Pause', 
    googleAnalyticsEventEnded: 'Ended', 
    googleAnalyticsEventTime: 'Time' 
}); 


$.extend(MediaElementPlayer.prototype, { 
    builduniversalgoogleanalytics: function(player, controls, layers, media) { 

     media.addEventListener('play', function() { 
      if (typeof ga != 'undefined') { 
       ga('mv.send', 'event', 
        player.options.googleAnalyticsCategory, 
        player.options.googleAnalyticsEventPlay, 
        (player.options.googleAnalyticsTitle === '') ? player.media.currentSrc : player.options.googleAnalyticsTitle 
       ); 
      } 
     }, false); 

     media.addEventListener('pause', function() { 
      if (typeof ga != 'undefined') { 
       ga('mv.send', 'event', 
        player.options.googleAnalyticsCategory, 
        player.options.googleAnalyticsEventPause, 
        (player.options.googleAnalyticsTitle === '') ? player.media.currentSrc : player.options.googleAnalyticsTitle 
       ); 
      } 
     }, false); 

     media.addEventListener('ended', function() { 
      if (typeof ga != 'undefined') { 
       ga('mv.send', 'event', 
        player.options.googleAnalyticsCategory, 
        player.options.googleAnalyticsEventEnded, 
        (player.options.googleAnalyticsTitle === '') ? player.media.currentSrc : player.options.googleAnalyticsTitle 
       ); 
      } 
     }, false); 

     /* 
     media.addEventListener('timeupdate', function() { 
      if (typeof ga != 'undefined') { 
       ga('mv.send', 'event', 
        player.options.googleAnalyticsCategory, 
        player.options.googleAnalyticsEventEnded, 
        player.options.googleAnalyticsTime, 
        (player.options.googleAnalyticsTitle === '') ? player.media.currentSrc : player.options.googleAnalyticsTitle, 
        player.currentTime 
       ); 
      } 
     }, true); 
     */ 
    } 
}); 

})(mejs.$); 

回答

0

当您创建跟踪对象,你给它取名为“MV”,所以,当你把你的活动,你将不得不使用有相同名称

ga('mv.send', 'event', ...) 
+0

感谢您指出了这一点!我应该想到这一点。不幸的是,它没有帮助,所以还有其他的东西。 –

+0

尝试使用标签助手等工具来查看是否点击正在经历。请记住,事件(以及其他所有点击类型)在数据处理完毕后才会显示在您的报告中,这可能需要长达24小时)。 – nyuen

+0

感谢您的建议,但我对Tag Assistant并不熟悉,可能没有时间研究它(如果我无法弄清楚这一点,我们会让我们的网络公司有机会,但我真的希望我们不要必须这样做)。我一直在查看实时报告,并且在我所有其他活动中都可以很好地工作。 –

相关问题