Startups aparecem e depois morrem. Ou ficar fora de moda. Principalmente aqueles que fornecem ferramentas para outras startups. Um dia você quer usar o intercom.io, no outro você quer usar o mixpanel.com. Não adicione chamadas à API deles diretamente em seu código. Tenha seu próprio rastreador e atualize-o sempre que mudar de ideia.
My.Tracker = function () {
this.push = function (command) {
try {
this[command[0]].apply(this, command.slice(1));
} catch (e) {
// ...
}
};
this.track = function () {
try {
var mixpanel = window.mixpanel;
mixpanel.track.apply(mixpanel, arguments);
} catch (e) {
// ...
}
};
this.identify = function (userDetails) {
try {
var mixpanel = window.mixpanel;
mixpanel.identify(userDetails['id']);
mixpanel.name_tag(userDetails['email']);
mixpanel.people.set(userDetails);
} catch (e) {
// ...
}
};
if (typeof window._my_tracker !== 'undefined') {
for (command in window._my_tracker) {
this.push(command[0], command[1]);
}
}
};
_my_tracker = new My.Tracker();
Agora você pode usar este rastreador em seu código:
_my_tracker.push(['identify', {id: 123, email: 'example@example.com'}]);
Você pode usar seu rastreador antes mesmo de carregá-lo, como o do Google Analytics:
_my_tracker = _my_tracker || [];
_my_tracker.push(['track', 'hello']);
Quando você decidir mudar seu provedor (mixpanel neste exemplo), você apenas tem que atualizar this.track
e / this.identify
ou quaisquer outros métodos públicos que você deseja que seu rastreador tenha.