Merge pull request #2 from SabreCat/crookedneighbor/analytics-service-server-side

feat(analytics): Server tweaks
This commit is contained in:
Blade Barringer 2015-07-11 00:19:41 -05:00
commit 22f92e5388
3 changed files with 25 additions and 10 deletions

View file

@ -50,15 +50,6 @@ angular.module('habitrpg')
if($rootScope.selectedLanguage) url = url + '?lang=' + $rootScope.selectedLanguage.code;
$http.post(url, scope.registerVals).success(function(data, status, headers, config) {
runAuth(data.id, data.apiToken);
if (status == 200) {
if (data.auth.facebook) {
Analytics.updateUser({'email':data.auth.facebook._json.email,'language':data.preferences.language});
Analytics.track({'hitType':'event','eventCategory':'acquisition','eventAction':'register','authType':'facebook'});
} else {
Analytics.updateUser({'email':data.auth.local.email,'language':data.preferences.language});
Analytics.track({'hitType':'event','eventCategory':'acquisition','eventAction':'register','authType':'email'});
}
}
}).error(errorAlert);
};

View file

@ -180,7 +180,6 @@ habitrpg.controller("InventoryCtrl",
$rootScope.selectedQuest = undefined;
}
$scope.questInit = function(){
Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'quest','owner':true,'response':'accept','questName':$scope.selectedQuest.key});
$rootScope.party.$questAccept({key:$scope.selectedQuest.key}, function(){
$rootScope.party.$get();
});

View file

@ -17,6 +17,7 @@ var EmailUnsubscription = require('./../models/emailUnsubscription').model;
var isProd = nconf.get('NODE_ENV') === 'production';
var api = module.exports;
var pushNotify = require('./pushNotifications');
var analytics = utils.analytics;
/*
------------------------------------------------------------------------
@ -919,6 +920,14 @@ api.questAccept = function(req, res, next) {
// or everyone has either accepted/rejected, then we store quest key in user object.
_.each(group.members, function(m){
if (m == user._id) {
var analyticsData = {
category: 'behavior',
owner: true,
response: 'accept',
gaLabel: 'accept',
questName: key
};
analytics.track('quest',analyticsData);
group.quest.members[m] = true;
group.quest.leader = user._id;
} else {
@ -957,6 +966,14 @@ api.questAccept = function(req, res, next) {
// Party member accepting the invitation
} else {
if (!group.quest.key) return res.json(400,{err:'No quest invitation has been sent out yet.'});
var analyticsData = {
category: 'behavior',
owner: false,
response: 'accept',
gaLabel: 'accept',
questName: group.quest.key
};
analytics.track('quest',analyticsData);
group.quest.members[user._id] = true;
User.update({_id:user._id}, {$set: {'party.quest.RSVPNeeded': false}}).exec();
questStart(req,res,next);
@ -968,6 +985,14 @@ api.questReject = function(req, res, next) {
var user = res.locals.user;
if (!group.quest.key) return res.json(400,{err:'No quest invitation has been sent out yet.'});
var analyticsData = {
category: 'behavior',
owner: false,
response: 'reject',
gaLabel: 'reject',
questName: group.quest.key
};
analytics.track('quest',analyticsData);
group.quest.members[user._id] = false;
User.update({_id:user._id}, {$set: {'party.quest.RSVPNeeded': false, 'party.quest.key': null}}).exec();
questStart(req,res,next);