This template demonstrates how to create a Browser Plugin to be used with @snowplow/browser-tracker
.
This example can be cloned, modified and then published to npm.
Requires Node (10+).
$ npm install
$ npm test
$ npm run build
Update banner.js
and package.json
with your information.
We advise naming the package snowplow-browser-plugin-*
where *
describes what this plugin does.
npm run build
npm login
npm publish
Initialize your tracker with the TemplatePlugin:
import { newTracker } from '@snowplow/browser-tracker';
import { TemplatePlugin } from 'snowplow-browser-plugin-advanced-template';
newTracker('sp1', '{{collector}}', { plugins: [ TemplatePlugin() ] }); // Also stores reference at module level
Then use the available functions from this package to track to all trackers which have been initialized with this plugin:
import { enableMyContext, trackMyEvent } from '@snowplow/browser-plugin-advanced-template';
enableMyContext({ property: 'something' });
trackMyEvent({ eventProp: 'value' });
Assuming sp.js
or sp.lite.js
has been loaded on window.snowplow
, and this plugin is published on npm:
window.snowplow('addPlugin',
"https://cdn.jsdelivr.net/npm/snowplow-browser-plugin-advanced-template@latest/dist/index.umd.min.js",
["snowplowAdvancedTemplate", "TemplatePlugin"]
);
window.snowplow('enableMyContext', { property: 'something' });
window.snowplow('trackMyEvent', { eventProp: 'value' });
);
Licensed and distributed under the BSD 3-Clause License (An OSI Approved License).
Copyright (c) 2021 Snowplow Analytics Ltd.
All rights reserved.