Capacitor Mixpanel
@houseninja/capacitor-mixpanel
Capacitor plugin for Mixpanel
Maintainers
Maintainer | GitHub | Social |
---|---|---|
Miles Zimmerman | mileszim | @mileszim |
House Ninja | houseninjadojo |
Install
npm install @houseninja/capacitor-mixpanel
Add 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 sync
API
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 |
serverURL |
string |
Enable or disable debug mode | null |
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):
Miles Zimmerman 💻 📖 🚧 💡 📦 🔌 |
Adam C 💻 📖 |
Christian von Rohr 💻 📖 |
Matt 💻 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!