我想在我的JavaScript应用中使用Google Analytics测量工具(GA MT)创建一个用于跟踪事件的自定义插件,但我是新手并且不确定如何编写这样的插件。
我对插件的看法:
如果我了解GA MT如何正常工作,我需要为每个自定义事件指定事件匹配(see more)
稍后将调用这些函数,即点击按钮,goToNextSlide等,这将向GA发送命中。
这是我的插件的一个例子:
(function( $ ) {
var $_document = $(document);
// Shared hit parameters
var hit = 'https://www.google-analytics.com/collect?';
hit += 'v=1'; // Version.
hit += '&t=pageview'; // Pageview hit type.
hit += '&tid=UA-XXXXXX-Y'; // Tracking ID / Property ID.
hit += '&cid=555'; // Client ID.
/* Application opened */
function gacAppOpened() {
console.log('gacAppOpened');
hit += '&dp=%2Fslide-1'; // Page.
httpGetRequest(hit);
}
/* Slide-2 entered */
function gacSlide2() {
console.log('gacSlide2');
hit += '&dp=%2Fslide-2'; // Page.
httpGetRequest(hit);
}
function httpGetRequest( theUrl )
{
var req = new XMLHttpRequest();
req.open("POST", theUrl, true);
req.send(null);
}
}( jQuery ));
这是我加载插件(gaCustom.js)和我的常见JS文件(app.js)的方式
<script src="js/gaCustom.js"></script>
<script src="js/app.js"></script>
当尝试从app.js内部访问我的函数时,我收到错误(不是函数)
goToDefault: function() { // loads first page of my app,
// a hit should be sent to GA about app started
...
gacAppOpened();
... // render template
},
所以我在定义插件并使用它时出错了。我也尝试过其他一些尝试,但都失败了。
我很高兴听到我的方法是好还是错,以及为什么要改进,因为我是新手,并且想要正确地做到这一点。