aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/analytics.js
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2017-10-13 12:29:40 +0200
committerLibravatar Stefan Malzner <stefan@adlk.io>2017-10-13 12:29:40 +0200
commit58cda9cc7fb79ca9df6746de7f9662bc08dc156a (patch)
tree1211600c2a5d3b5f81c435c6896618111a611720 /src/lib/analytics.js
downloadferdium-app-58cda9cc7fb79ca9df6746de7f9662bc08dc156a.tar.gz
ferdium-app-58cda9cc7fb79ca9df6746de7f9662bc08dc156a.tar.zst
ferdium-app-58cda9cc7fb79ca9df6746de7f9662bc08dc156a.zip
initial commit
Diffstat (limited to 'src/lib/analytics.js')
-rw-r--r--src/lib/analytics.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/lib/analytics.js b/src/lib/analytics.js
new file mode 100644
index 000000000..b13bf8faa
--- /dev/null
+++ b/src/lib/analytics.js
@@ -0,0 +1,42 @@
1import { remote } from 'electron';
2import { GA_ID } from '../config';
3// import { isDevMode } from '../environment';
4
5const { app } = remote;
6
7/* eslint-disable */
8(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
9(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
10m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
11})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
12/* eslint-enable */
13
14const GA_LOCAL_STORAGE_KEY = 'gaUid';
15
16ga('create', GA_ID, {
17 storage: 'none',
18 clientId: localStorage.getItem(GA_LOCAL_STORAGE_KEY),
19});
20
21ga((tracker) => {
22 localStorage.setItem(GA_LOCAL_STORAGE_KEY, tracker.get('clientId'));
23});
24ga('set', 'checkProtocolTask', null);
25ga('set', 'version', app.getVersion());
26ga('send', 'App');
27
28export function gaPage(page) {
29 ga('send', 'pageview', page);
30
31 console.debug('GA track page', page);
32}
33
34export function gaEvent(category, action, label) {
35 ga('send', 'event', category, action, label);
36
37 console.debug('GA track page', category, action);
38}
39
40setTimeout(() => {
41 ga('send', 'Ping');
42}, 1000 * 60 * 10); // Ping GA every 10 Minutes