1.3.0 • Published 5 years ago

@s-ui/analytics v1.3.0

Weekly downloads
26
License
ISC
Repository
-
Last release
5 years ago

sui-analytics

Description

This package adds an abstraction layer on top of segment.com's javascript library

Usage

After adding your Segment snippet into your html, you'll need to include this package in order to be able to fire events.

sui-analytics will be an object with the methods described here

In your html page (SPA / Monolith docs)

<script type="text/javascript">
  !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t,e){var n=document.createElement("script");n.type="text/javascript";n.async=!0;n.src="https://cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a);analytics._loadOptions=e};analytics.SNIPPET_VERSION="4.1.0";

  analytics.load("YOUR_WRITE_KEY");  // your write key must be set here
  }}();
</script>

In your modern and beautiful JavaScript...

import suiAnalytics from '@s-ui/analytics'

In your monolithic JavaScript...

// First load the UMD module.
<script src="https://unpkg.com/@s-ui/analytics/umd/index.js"></script>
<script>
  // Then trigger all the events you need referencing the right namespaced
  // object: `window.sui.analytics`. For more info see the "Events" section below.
  window.sui.analytics.identify('your user id', {});
  window.sui.analytics.track('your event', {});
  window.sui.analytics.reset();
</script>

Events

Identify - docs

suiAnalytics.identify('97980cfea0067', {
  name: 'Peter Gibbons',
  email: 'peter@initech.com',
  plan: 'premium',
  logins: 5
})

Track - docs

suiAnalytics.track('Registered', {
  plan: 'Pro Annual',
  accountType: 'Facebook'
})

Reset - docs

suiAnalytics.reset()
1.3.0

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago