使用Piwik作为单页应用程序

Sim*_*lGy 7 javascript analytics matomo fat-client single-page-application

构建单页/胖客户端应用程序,我想知道使用http://piwik.org/进行包含和跟踪的最佳实践是什么

我想以一种体系结构合理的方式使用Piwik,并且将来可以替换为不同的库.

看来Piwik跟踪有两个基本选项:

  1. _paq使用命令填充全局数组,然后加载脚本(我不清楚如何记录未来的"页面"视图或更改变量)
  2. 获取和使用 var myTracker = Piwik.getTracker()

_paq 做法:

myApp.loadAnalytics = function() { /* dynamically insert piwik.php script */ }
myApp.track = function(pageName) {
  window._paq = window._paq || [];
  _paq.push(['setDocumentTitle', pageName]);
  _paq.push(["trackPageView"]);
}
myApp.loadAnalytics()

// Then, anywhere in the application, and as many times as I want (I hope :)
myApp.track('reports/eastWing') // Track a "page" change, lightbox event, or anything else
Run Code Online (Sandbox Code Playgroud)

.getTracker() 做法:

myApp.loadAnalytics = function() { /* dynamically insert piwik.php script */ }
myApp.track = function(pageName) {
  myApp.tracker = myApp.tracker || Piwik.getTracker('https://mysite.com', 1);
  myApp.tracker.trackPageView(pageName);
}
myApp.loadAnalytics()

// Then, anywhere in the application, and as many times as I want (I hope :)
myApp.track('reports/eastWing') // Track a "page" change, lightbox event, or anything else
Run Code Online (Sandbox Code Playgroud)

这些方法在功能上是否相同?对于单页应用程序,是否优先于另一个?

Sim*_*lGy 1

使用 .getTracker 的完整解决方案如下所示: https: //gist.github.com/SimplGy/5349360

仍然不确定使用数组是否会更好_paq