Skip to content

houseninjadojo/capacitor-mixpanel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


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(...)

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):

Miles Zimmerman
Miles Zimmerman

πŸ’» πŸ“– 🚧 πŸ’‘ πŸ“¦ πŸ”Œ
Adam C
Adam C

πŸ’» πŸ“–
Christian von Rohr
Christian von Rohr

πŸ’» πŸ“–
Matt
Matt

πŸ’» πŸ“–

This project follows the all-contributors specification. Contributions of any kind welcome!