mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
Reinstate amplitude analytics
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
"main": "./website/src/server.js",
|
||||
"dependencies": {
|
||||
"amazon-payments": "0.0.4",
|
||||
"amplitude": "^1.0.6",
|
||||
"amplitude": "^2.0.1",
|
||||
"async": "~0.9.0",
|
||||
"aws-sdk": "^2.0.25",
|
||||
"babel": "^5.5.4",
|
||||
|
||||
@@ -8,7 +8,9 @@ describe('analytics', function() {
|
||||
// Mocks
|
||||
var amplitudeMock = sinon.stub();
|
||||
var googleAnalyticsMock = sinon.stub();
|
||||
var amplitudeTrack = sinon.stub();
|
||||
var amplitudeTrack = sinon.stub().returns({
|
||||
catch: function () { return true; }
|
||||
});
|
||||
var googleEvent = sinon.stub().returns({
|
||||
send: function() { }
|
||||
});
|
||||
|
||||
@@ -24,14 +24,16 @@ function init(options) {
|
||||
}
|
||||
|
||||
function track(eventType, data) {
|
||||
//_sendDataToAmplitude(eventType, data);
|
||||
_sendDataToAmplitude(eventType, data);
|
||||
_sendDataToGoogle(eventType, data);
|
||||
}
|
||||
|
||||
function _sendDataToAmplitude(eventType, data) {
|
||||
var amplitudeData = _formatDataForAmplitude(data);
|
||||
amplitudeData.event_type = eventType;
|
||||
amplitude.track(amplitudeData);
|
||||
amplitude.track(amplitudeData).catch(function(error) {
|
||||
// @TODO log error with new relic
|
||||
});
|
||||
}
|
||||
|
||||
function _sendDataToGoogle(eventType, data) {
|
||||
@@ -78,7 +80,7 @@ function _generateValueForGoogleAnalytics(data) {
|
||||
}
|
||||
|
||||
function trackPurchase(data) {
|
||||
//_sendPurchaseDataToAmplitude(data);
|
||||
_sendPurchaseDataToAmplitude(data);
|
||||
_sendPurchaseDataToGoogle(data);
|
||||
}
|
||||
|
||||
@@ -87,7 +89,9 @@ function _sendPurchaseDataToAmplitude(data) {
|
||||
amplitudeData.event_type = 'purchase';
|
||||
amplitudeData.revenue = data.purchaseValue;
|
||||
|
||||
amplitude.track(amplitudeData)
|
||||
amplitude.track(amplitudeData).catch(function(error) {
|
||||
// @TODO log error with new relic
|
||||
});
|
||||
}
|
||||
|
||||
function _formatDataForAmplitude(data) {
|
||||
@@ -95,7 +99,7 @@ function _formatDataForAmplitude(data) {
|
||||
var event_properties = _.omit(data, PROPERTIES_TO_SCRUB);
|
||||
|
||||
var ampData = {
|
||||
user_id: data.uuid,
|
||||
user_id: data.uuid || 'no-user-id-was-provided',
|
||||
platform: 'server',
|
||||
event_properties: event_properties
|
||||
}
|
||||
|
||||
@@ -118,7 +118,8 @@ api.registerUser = function(req, res, next) {
|
||||
var analyticsData = {
|
||||
category: 'acquisition',
|
||||
type: 'local',
|
||||
gaLabel: 'local'
|
||||
gaLabel: 'local',
|
||||
uuid: user._id,
|
||||
};
|
||||
analytics.track('register', analyticsData)
|
||||
|
||||
@@ -212,7 +213,8 @@ api.loginSocial = function(req, res, next) {
|
||||
var analyticsData = {
|
||||
category: 'acquisition',
|
||||
type: network,
|
||||
gaLabel: network
|
||||
gaLabel: network,
|
||||
uuid: user._id,
|
||||
};
|
||||
analytics.track('register', analyticsData)
|
||||
}]
|
||||
|
||||
@@ -912,7 +912,8 @@ api.questAccept = function(req, res, next) {
|
||||
owner: true,
|
||||
response: 'accept',
|
||||
gaLabel: 'accept',
|
||||
questName: key
|
||||
questName: key,
|
||||
uuid: user._id,
|
||||
};
|
||||
analytics.track('quest',analyticsData);
|
||||
group.quest.members[m] = true;
|
||||
@@ -958,7 +959,8 @@ api.questAccept = function(req, res, next) {
|
||||
owner: false,
|
||||
response: 'accept',
|
||||
gaLabel: 'accept',
|
||||
questName: group.quest.key
|
||||
questName: group.quest.key,
|
||||
uuid: user._id,
|
||||
};
|
||||
analytics.track('quest',analyticsData);
|
||||
group.quest.members[user._id] = true;
|
||||
@@ -977,7 +979,8 @@ api.questReject = function(req, res, next) {
|
||||
owner: false,
|
||||
response: 'reject',
|
||||
gaLabel: 'reject',
|
||||
questName: group.quest.key
|
||||
questName: group.quest.key,
|
||||
uuid: user._id,
|
||||
};
|
||||
analytics.track('quest',analyticsData);
|
||||
group.quest.members[user._id] = false;
|
||||
|
||||
Reference in New Issue
Block a user