我正在尝试在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.$);
感谢您指出了这一点!我应该想到这一点。不幸的是,它没有帮助,所以还有其他的东西。 –
尝试使用标签助手等工具来查看是否点击正在经历。请记住,事件(以及其他所有点击类型)在数据处理完毕后才会显示在您的报告中,这可能需要长达24小时)。 – nyuen
感谢您的建议,但我对Tag Assistant并不熟悉,可能没有时间研究它(如果我无法弄清楚这一点,我们会让我们的网络公司有机会,但我真的希望我们不要必须这样做)。我一直在查看实时报告,并且在我所有其他活动中都可以很好地工作。 –