no-persistence-mixpanel
v1.3.0
Published
Minimal wrapper of the Mixpanel HTTP api. Avoid cookie banners and add analytics to figma plugins
Readme
No persistence mixpanel
Minimal Mixpanel API for usage in environments where cookies/localStorage are either not supported (e.g., Figma Plugins), or where you don't want/need them (e.g., to avoid needing a cookie banner).
This library wraps Mixpanel's HTTP API instead, which requires you to maintain the user's distinct_id property yourself.
In the case of figma, the library provides helper methods to do this automatically for you.
Installation
NPM
npm install no-persistence-mixpanelYarn
yarn add no-persistence-mixpanelUsage
To use the Mixpanel api directly:
import Mixpanel from "no-persistence-mixpanel";
const mixpanel = new Mixpanel(/* Your Project Token */);
mixpanel.identify(user.id);
mixpanel.track("Page Viewed");Figma Plugin
If you're using this package for a Figma plugin, the library provides additional helper methods to manage the user's identity.
In order to use them, you'll need to be using a bundler, such as webpack, and give your plugin currentuser permissions:
/**
* manifest.json
*/
{
"name": "example",
"id": "1234",
"api": "1.0.0",
"main": "dist/code.js",
"editorType": ["figma", "figjam"],
"ui": "dist/ui.html"
// Required permissions
"permissions": ["currentuser"],
}
/**
* code.ts
*/
import { setupIdentification } from "no-persistence-mixpanel/figma-code";
setupIdentification(figma);
/**
* ui.ts
*/
import { init } from "no-persistence-mixpanel/figma-ui";
init(/* Your project token */, (mixpanel) => {
mixpanel.track("Plugin Opened");
});