diff --git a/src/background/server/services/analytics/index.js b/src/background/server/services/analytics/index.js new file mode 100644 index 0000000..825d87c --- /dev/null +++ b/src/background/server/services/analytics/index.js @@ -0,0 +1,23 @@ +import { eventsList } from '../../../../vendor' +import { Logger, https } from '../../utils' + +const events = eventsList.analytics +const ANALYTICS_URL = 'https://kawanime.com/api/v1/analytics' + +const logger = new Logger('Analytics') + +async function send (event, { eventName, data }) { + https.post(ANALYTICS_URL, { + eventName, + data + }) + .catch(() => { + // We ignore errors + logger.error(`Could not send ${eventName} analytics event.`) + }) +} + +export default { + eventName: events.main, + handler: send +} diff --git a/src/background/server/services/index.js b/src/background/server/services/index.js index c4d123a..baf9278 100644 --- a/src/background/server/services/index.js +++ b/src/background/server/services/index.js @@ -13,6 +13,7 @@ import isOnline from './isOnline' import vault from './vault' import watchLists from './watchLists' import registerService from './registerService' +import analytics from './analytics' const services = [ ...config, @@ -29,7 +30,8 @@ const services = [ news, seasons, episodes, - isOnline + isOnline, + analytics ] // auto update diff --git a/src/vendor/events.js b/src/vendor/events.js index eabaa3e..48856b4 100644 --- a/src/vendor/events.js +++ b/src/vendor/events.js @@ -19,7 +19,8 @@ const getOnly = [ // Internal 'env', 'isOnline', - 'externalOpen' + 'externalOpen', + 'analytics' ] const updatable = [