0.1.3 • Published 3 years ago

@ridi/ridi-event-tracker v0.1.3

Weekly downloads
114
License
MIT
Repository
github
Last release
3 years ago

@ridi/ridi-event-tracker

npm

Provides tracking API that helps to send events to various logging services like Google Analytics, RIDI beacon system

Install

NPM

$ npm install @ridi/ridi-event-tracker

Browser

# local
<script src="./node_modules/@ridi/event-tracker/dist/umd/bundle.min.js"></script>

# In GTM
<script src="https://unpkg.com/@ridi/ridi-event-tracker@{{EVENT_TRACKER_VERSION}}/dist/umd/bundle.min.js"></script>
<script>
  var beaconSrc = 'https://s3.ap-northeast-2.amazonaws.com/beacon-ridibooks-2/beacon_ridibooks_2.gif';
  window.ret = new Tracker({
    deviceType: '{{DeviceType}}',
    uId: '{{UserID}}',
    beaconOptions: {
      beaconSrc: beaconSrc
    }
  });
  window.ret.initialize();
</script>

Usage

import { Tracker, DeviceType } from "@ridi/event-tracker";

const tracker = new Tracker({
  deviceType: DeviceType.PC,
  uId: 123456,
  debug: false,
  throttleWait: 1000,
  beaconOptions: {
    beaconSrc: "http://beacon.com",
  },

});

tracker.initialize();

tracker.sendPageView(location.href);

tracker.sendEvent("Purchased", {
  t_id: "201808180210135",
  value: 29000
});

API

new Tracker(MainTrackerOptions)

MainTrackerOptions

KeyRequiredTypeDescription
debugfalsebooleanDefaults to false If set to true, All fired events are logged to browser via console.log
uIdfalsenumberLogged user's identifier.
deviceTypetrueDeviceTypeType of connected user's device. Please refer DeviceType typeAdditional properties related to specific service. Please refer ServiceProp type, which is Record<string, string>
beaconOptionsfalseBeaconOptionsOptions related with Beacon tracking module
beaconOptions.beaconSrcfalsestringSource of the image to be used as a beaconID of impression event tag

Tracker.initialize()

To use this library correctly, you need to call this method least once either before calling other methods or after.

written event records before calling initialize, this records flush after initialized.

Develop

$ git clone https://github.com/ridi/event-tracker && cd tracking
$ npm install
$ npm run build

Test

$ npm run test

Publish

$ npm login
$ npm run deploy
$ # or
$ npm run build && npm publish --access public

LICENSE

MIT