mirror of
https://github.com/wassname/cardsforscience.git
synced 2026-08-03 12:30:26 +08:00
98 lines
2.9 KiB
JavaScript
98 lines
2.9 KiB
JavaScript
/** Custom google analystics events **/
|
|
var Helpers = require("js/helpers");
|
|
|
|
// google analystics async code
|
|
(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');
|
|
|
|
var analytics = module.exports =
|
|
{
|
|
enabled: true,
|
|
|
|
screens:
|
|
{
|
|
main: 'Main screen',
|
|
about: 'About',
|
|
achievements: 'Achievements',
|
|
info: 'Physics information'
|
|
},
|
|
|
|
events:
|
|
{
|
|
categoryResearch: 'Research',
|
|
categoryHR: 'HR',
|
|
categoryUpgrades: 'Upgrades',
|
|
|
|
actionResearch: 'Research',
|
|
actionHire: 'Hire',
|
|
actionBuy: 'Buy'
|
|
},
|
|
|
|
init: function()
|
|
{
|
|
if (typeof Helpers.analytics === 'undefined' || Helpers.analytics == '') {
|
|
analytics.enabled = false;
|
|
return;
|
|
}
|
|
|
|
// TODO replace with angular analtcs
|
|
if(ga){
|
|
ga('create', Helpers.analytics,'auto');
|
|
ga('set', { 'appName': 'Cards For Science', 'appId': '', 'appVersion': '0.6' });
|
|
ga('set', 'anonymizeIp', true);
|
|
// ga('send','pageview');// angulartics
|
|
}
|
|
|
|
|
|
$('#myModal').on('show.bs.modal', function (e) {
|
|
analytics.sendScreen(analytics.screens.about);
|
|
});
|
|
$('#myModal').on('hide.bs.modal', function (e) {
|
|
analytics.sendScreen(analytics.screens.main);
|
|
});
|
|
|
|
$('#achievements-modal').on('show.bs.modal', function (e) {
|
|
analytics.sendScreen(analytics.screens.achievements);
|
|
});
|
|
$('#achievements-modal').on('hide.bs.modal', function (e) {
|
|
analytics.sendScreen(analytics.screens.main);
|
|
});
|
|
|
|
$('#infoBox').on('show.bs.modal', function (e) {
|
|
analytics.sendScreen(analytics.screens.info);
|
|
});
|
|
$('#infoBox').on('hide.bs.modal', function (e) {
|
|
analytics.sendScreen(analytics.screens.main);
|
|
});
|
|
},
|
|
|
|
sendScreen: function(type)
|
|
{
|
|
if (!analytics.enabled || typeof type === 'undefined') {
|
|
return;
|
|
}
|
|
if(ga){
|
|
ga('send', 'screenview', { 'screenName': type });
|
|
}
|
|
},
|
|
|
|
sendEvent: function(category, action, label, value)
|
|
{
|
|
if (!analytics.enabled || typeof category === 'undefined' || typeof action === 'undefined' || typeof label === 'undefined' || typeof value === 'undefined') {
|
|
return;
|
|
}
|
|
if(ga){
|
|
ga('send', 'event', category, action, label, value, {'screenName': analytics.screens.main });
|
|
}
|
|
}
|
|
};
|