if (this.fluidbook.settings.stats) {\r
this.worker = new Worker('js/libs/fluidbook/workers/stats.js');\r
}\r
+ if (this.fluidbook.settings.statsMatomo) {\r
+ window._paq = window._paq || [];\r
+ window._paq.push(["setDoNotTrack", true]);\r
+ window._paq.push(['enableHeartBeatTimer']);\r
+ window._paq.push(['enableLinkTracking']);\r
+ (function (siteId) {\r
+ var u = "https://v3.stats.fluidbook.com/";\r
+ window._paq.push(['setTrackerUrl', u + 'matomo.php']);\r
+ window._paq.push(['setSiteId', siteId]);\r
+ var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];\r
+ g.async = true;\r
+ g.src = u + 'matomo.js';\r
+ s.parentNode.insertBefore(g, s);\r
+ })(this.fluidbook.settings.statsMatomo);\r
+ }\r
if (this.fluidbook.settings.googleTagManager !== undefined && this.fluidbook.settings.googleTagManager !== '') {\r
this.ga = 'gtm';\r
} else if (this.fluidbook.settings.googleAnalytics !== '') {\r
if (this.fluidbook.settings.stats) {\r
this.trackFluidbook(type, page, extra);\r
}\r
+ if (this.fluidbook.settings.statsMatomo) {\r
+ this.trackMatomo(type, page, extra);\r
+ }\r
this.trackGoogleAnalytics(type, page, extra);\r
},\r
\r
}\r
},\r
\r
+ trackMatomo(type, page, extra, url) {\r
+ console.log('track matomo', type, page, extra, url);\r
+ if (url === undefined) {\r
+ url = window.location;\r
+ }\r
+ switch (type) {\r
+ case 0: // Change page\r
+\r
+ window._paq.push(['setCustomUrl', url]);\r
+ window._paq.push(['trackPageView']);\r
+ break;\r
+ case 10: // Open Book\r
+ window._paq.push(['trackPageView']);\r
+ break;\r
+ case 14: // Open chapters menu\r
+ window._paq.push(['trackEvent', 'menu', 'click', 'chapters']);\r
+ break;\r
+ case 6: // Click a link in a page\r
+ window._paq.push(['trackEvent', 'link', 'click', extra]);\r
+ break;\r
+ case 1: // Search\r
+ window._paq.push(['trackSiteSearch', extra]);\r
+ break;\r
+ case 3: // Print\r
+ window._paq.push(['trackEvent', 'menu', 'click', 'print']);\r
+ break;\r
+ case 5: // Share\r
+ case 12: // Facebook\r
+ case 13: // Twitter\r
+ window._paq.push(['trackEvent', 'share', 'send', type]);\r
+ break;\r
+ case 7: // PDF\r
+ case 8: // Partial PDF\r
+ window._paq.push(['trackEvent', 'menu', 'click', 'download']);\r
+ break;\r
+ case 4: // Bookmarks\r
+ window._paq.push(['trackEvent', 'bookmark', 'page', 'page ' + page]);\r
+ break;\r
+ case 9: // Extras\r
+ window._paq.push(['trackEvent', 'extra', 'click', extra]);\r
+ break;\r
+ case 2:// Zoom\r
+ window._paq.push(['trackEvent', 'zoom', 'page', page]);\r
+ break;\r
+ case 11:// Video\r
+ window._paq.push(['trackEvent', 'video', 'view', extra]);\r
+ break;\r
+ case 15://\r
+ window._paq.push(['trackEvent', 'cart', 'addproduct', extra]);\r
+ }\r
+ },\r
+\r
trackGoogleAnalytics: function (type, page, extra, url) {\r
this.checkGoogleAnalytics();\r
\r
\r
\r
var data = {\r
- id: $this.id,\r
- vid: $this.vid,\r
- type: type,\r
- page: page,\r
- str: extra,\r
- time: new Date().getTime()\r
+ id: $this.id, vid: $this.vid, type: type, page: page, str: extra, time: new Date().getTime()\r
};\r
\r
setTimeout(function () {\r