You've already forked AstralRinth
forked from didirus/AstralRinth
Switch to PostHog for app analytics (#2316)
This commit is contained in:
23
apps/app-frontend/src/helpers/analytics.js
Normal file
23
apps/app-frontend/src/helpers/analytics.js
Normal file
@@ -0,0 +1,23 @@
|
||||
import { posthog } from 'posthog-js'
|
||||
|
||||
export const initAnalytics = () => {
|
||||
posthog.init('phc_hm2ihMpTAoE86xIm7XzsCB8RPiTRKivViK5biiHedm', {
|
||||
persistence: 'localStorage',
|
||||
})
|
||||
}
|
||||
|
||||
export const debugAnalytics = () => {
|
||||
posthog.debug()
|
||||
}
|
||||
|
||||
export const optOutAnalytics = () => {
|
||||
posthog.opt_out_capturing()
|
||||
}
|
||||
|
||||
export const optInAnalytics = () => {
|
||||
posthog.opt_in_capturing()
|
||||
}
|
||||
|
||||
export const trackEvent = (eventName, properties) => {
|
||||
posthog.capture(eventName, properties)
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
import mixpanel from 'mixpanel-browser'
|
||||
|
||||
// mixpanel_track
|
||||
function trackWrapper(originalTrack) {
|
||||
return function (event_name, properties = {}) {
|
||||
try {
|
||||
originalTrack(event_name, properties)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
export const mixpanel_track = trackWrapper(mixpanel.track.bind(mixpanel))
|
||||
|
||||
// mixpanel_opt_out_tracking()
|
||||
function optOutTrackingWrapper(originalOptOutTracking) {
|
||||
return function () {
|
||||
try {
|
||||
originalOptOutTracking()
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
export const mixpanel_opt_out_tracking = optOutTrackingWrapper(
|
||||
mixpanel.opt_out_tracking.bind(mixpanel),
|
||||
)
|
||||
|
||||
// mixpanel_opt_in_tracking()
|
||||
function optInTrackingWrapper(originalOptInTracking) {
|
||||
return function () {
|
||||
try {
|
||||
originalOptInTracking()
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
export const mixpanel_opt_in_tracking = optInTrackingWrapper(
|
||||
mixpanel.opt_in_tracking.bind(mixpanel),
|
||||
)
|
||||
|
||||
// mixpanel_init
|
||||
function initWrapper(originalInit) {
|
||||
return function (token, config = {}) {
|
||||
try {
|
||||
originalInit(token, config)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
export const mixpanel_init = initWrapper(mixpanel.init.bind(mixpanel))
|
||||
|
||||
export const mixpanel_is_loaded = () => {
|
||||
return mixpanel.__loaded
|
||||
}
|
||||
Reference in New Issue
Block a user