@houseninja/capacitor-mixpanel
v2.1.1
Published
Capacitor plugin for Mixpanel
Maintainers
Readme
Maintainers
| Maintainer | GitHub | Social | | --------------- | --------------------------------------------------- | ----------------------------------------- | | Miles Zimmerman | mileszim | @mileszim | | House Ninja | houseninjadojo | |
Install
npm install @houseninja/capacitor-mixpanelAdd the following plugin configuration:
{
...
"Mixpanel": {
"token": "token-abcdefg1234",
"trackAutomaticEvents": true, // optional, default: true
"optOutTrackingByDefault": false, // optional, default: false
"disableIosIpCollection": true, // optional, default: false
"serverURL": "https://api-eu.mixpanel.com/", // optional, default: "https://api.mixpanel.com/"
},
...
}Sync capacitor configuration
npx cap syncAPI
initialize(...)distinctId()track(...)identify(...)alias(...)reset()clearSuperProperties()currentSuperProperties()registerSuperProperties(...)setProfile(...)setProfileUnion(...)deleteProfile()trackCharge(...)flush()optInTracking(...)optOutTracking()hasOptedOutTracking()- Interfaces
initialize(...)
initialize(options: InitializeOptions) => Promise<void>Initialize the plugin (web only)
| Param | Type |
| ------------- | --------------------------------------------------------------- |
| options | InitializeOptions |
distinctId()
distinctId() => Promise<{ value: string; }>Returns the current distinct id of the user. This is either the id automatically generated by the library or the id that has been passed by a call to identify().
Returns: Promise<{ value: string; }>
track(...)
track(options: TrackOptions) => Promise<void>Tracks an event with properties. Properties are optional and can be added only if needed.
| Param | Type |
| ------------- | ----------------------------------------------------- |
| options | TrackOptions |
identify(...)
identify(options: IdentifyOptions) => Promise<void>Identify a user with a unique ID to track user activity across devices, tie a user to their events, and create a user profile. If you never call this method, unique visitors are tracked using a UUID generated the first time they visit the site.
| Param | Type |
| ------------- | ----------------------------------------------------------- |
| options | IdentifyOptions |
alias(...)
alias(options: AliasOptions) => Promise<void>The alias method creates an alias which Mixpanel will use to remap one id to another. Multiple aliases can point to the same identifier.
| Param | Type |
| ------------- | ----------------------------------------------------- |
| options | AliasOptions |
reset()
reset() => Promise<void>Clears super properties and generates a new random distinct_id for this instance. Useful for clearing data when a user logs out.
clearSuperProperties()
clearSuperProperties() => Promise<void>Clears all currently set super properties.
currentSuperProperties()
currentSuperProperties() => Promise<{ properties: any; }>Returns the currently set super properties.
Returns: Promise<{ properties: any; }>
registerSuperProperties(...)
registerSuperProperties(options: SuperPropertyOptions) => Promise<void>Register super properties that will be sent with every event.
| Param | Type |
| ------------- | --------------------------------------------------------------------- |
| options | SuperPropertyOptions |
setProfile(...)
setProfile(options: ProfileProperties) => Promise<void>Set properties on the current user in Mixpanel People.
| Param | Type |
| ------------- | --------------------------------------------------------------- |
| options | ProfileProperties |
setProfileUnion(...)
setProfileUnion(options: ProfileProperties) => Promise<void>Union list properties.
| Param | Type |
| ------------- | --------------------------------------------------------------- |
| options | ProfileProperties |
deleteProfile()
deleteProfile() => Promise<void>Permanently deletes the current people analytics profile from Mixpanel (using the current distinctId).
trackCharge(...)
trackCharge(options: ChargeOptions) => Promise<void>Track money spent by the current user for revenue analytics and associate properties with the charge. Properties is optional.
| Param | Type |
| ------------- | ------------------------------------------------------- |
| options | ChargeOptions |
flush()
flush() => Promise<void>Uploads queued data to the Mixpanel server. (only ios, android)
optInTracking(...)
optInTracking(options: OptInOptions) => Promise<void>Opt in tracking.
Use this method to opt in an already opted out user from tracking. People updates and track calls will be sent to Mixpanel after using this method.
| Param | Type |
| ------------- | ----------------------------------------------------- |
| options | OptInOptions |
optOutTracking()
optOutTracking() => Promise<void>Opt out tracking.
This method is used to opt out tracking. This causes all events and people request no longer to be sent back to the Mixpanel server.
hasOptedOutTracking()
hasOptedOutTracking() => Promise<{ value: boolean; }>Returns the current opt-out status.
Returns: Promise<{ value: boolean; }>
Interfaces
InitializeOptions
| Prop | Type | Description | Default |
| --------------------- | -------------------- | ----------------------------------------------------------------- | ------------------ |
| token | string | Your Mixpanel API token | |
| autotrack | boolean | Enable or disable autotracking | true |
| optOutByDefault | boolean | Opting users out of tracking by this Mixpanel instance by default | false |
| debug | boolean | Enable or disable debug mode | false |
TrackOptions
| Prop | Type | Description | Default |
| ---------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------- |
| event | string | The name of the event. This can be anything the user does - 'Button Click', 'Sign Up', 'Item Purchased', etc. | |
| properties | TrackProperties | A set of properties to include with the event you're sending. These describe the user who did the event or details about the event itself. | {} |
TrackProperties
IdentifyOptions
| Prop | Type | Description |
| ---------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| distinctId | string | A string that uniquely identifies a user. If not provided, the distinct_id currently in the persistent store (cookie or localStorage) will be used. |
AliasOptions
| Prop | Type | Description |
| ---------------- | ------------------- | --------------------------------------------------------------------- |
| alias | string | A unique identifier that you want to use for this user in the future. |
| distinctId | string | The current identifier being used for this user. |
SuperPropertyOptions
| Prop | Type | Description |
| ---------------- | ---------------- | ---------------------------------------------------------- |
| properties | any | An associative array of properties to store about the user |
ProfileProperties
| Prop | Type | Description |
| ---------------- | ---------------- | ---------------------------------------------------------- |
| properties | any | An associative array of properties to store about the user |
ChargeOptions
| Prop | Type | Description | Default |
| ---------------- | ------------------- | ----------------------------------------------------------------- | --------------- |
| amount | number | The amount of the transaction | |
| properties | any | An associative array of properties to store about the transaction | {} |
OptInOptions
| Prop | Type | Description |
| ---------------- | ------------------- | ---------------------------------------------------------- |
| distinctId | string | String that uniquely identifies the current user. |
| properties | any | An associative array of properties to store about the user |
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
