Files
imexrps/electron/analytics.js
2025-09-25 09:29:02 -07:00

42 lines
1.2 KiB
JavaScript

const { ipcMain } = require("electron");
//const { app } = require("electron");
const log = require("electron-log");
//const Nucleus = require("nucleus-nodejs");
const { default: ipcTypes } = require("../src/ipc.types.commonjs");
const amplitude = require('@amplitude/analytics-node');
const { store } = require("./electron-store");
const deviceId = store.get("deviceId");
const { app } = require("electron");
let userId;
amplitude.init('a733ff926aef84f93baf95e66b5dcb75');
// Nucleus.init("5f91b569b95bac34eefdb63a", {
// disableInDev: true,
// debug: false,
// version: app.getVersion(),
// });
// Nucleus.setProps({
// version: app.getVersion(),
// });
// Nucleus.onError = (type, err) => {
// log.error(err);
// // type will either be uncaughtException, unhandledRejection or windowError
// };
ipcMain.on(ipcTypes.app.toMain.setUserName, (event, userid) => {
userId = userid;
});
ipcMain.on(ipcTypes.app.toMain.track, (e, args) => {
log.log("Analytics Event", args);
const { event, ...eventDetails } = args;
try {
//// Nucleus.track(event, eventDetails);
amplitude.track(event, eventDetails, { device_id: deviceId, user_id: userId, app_version: app.getVersion(), });
} catch (error) {
log.error(error);
}
});