feat(mixpanel): add mixpanel support (#492)

This commit is contained in:
Ibrahim Hadeed 2016-08-27 02:05:35 -04:00 committed by GitHub
parent 9fe5c196aa
commit cf8e3420c0
2 changed files with 108 additions and 0 deletions

View File

@ -68,6 +68,7 @@ import { NativePageTransitions } from './plugins/native-page-transitions';
import { NativeStorage } from './plugins/nativestorage';
import { Market } from './plugins/market';
import { MediaPlugin } from './plugins/media';
import { Mixpanel } from './plugins/mixpanel';
import { Network } from './plugins/network';
import { NFC } from './plugins/nfc';
import { OneSignal } from './plugins/onesignal';
@ -128,6 +129,7 @@ export * from './plugins/localnotifications';
export * from './plugins/nfc';
export * from './plugins/media';
export * from './plugins/media-capture';
export * from './plugins/mixpanel';
export * from './plugins/pay-pal';
export * from './plugins/native-page-transitions';
export * from './plugins/printer';
@ -265,6 +267,7 @@ window['IonicNative'] = {
Market: Market,
MediaCapture: MediaCapture,
MediaPlugin: MediaPlugin,
Mixpanel: Mixpanel,
NativeAudio: NativeAudio,
NativePageTransitions: NativePageTransitions,
NativeStorage: NativeStorage,

105
src/plugins/mixpanel.ts Normal file
View File

@ -0,0 +1,105 @@
import {Plugin, Cordova, CordovaProperty} from './plugin';
/**
* @name Mixpanel
* @description
* Cordova Plugin that wraps Mixpanel SDK for Android and iOS
*
* @usage
* ```
* import {Mixpanel} from 'ionic-native';
*
* Mixpanel.init(token)
* .then(onSuccess)
* .catch(onError);
*
* ```
*/
@Plugin({
plugin: 'cordova-plugin-mixpanel',
pluginRef: 'mixpanel',
repo: 'https://github.com/samzilverberg/cordova-mixpanel-plugin'
})
export class Mixpanel {
/**
*
* @param aliasId {string}
* @param originalId {string}
* @returns {Promise<any>}
*/
@Cordova()
static alias(aliasId: string, originalId: string): Promise<any> {return; }
/**
*
* @returns {Promise<any>}
*/
@Cordova()
static distinctId(): Promise<any> {return; }
/**
*
*/
@Cordova()
static flush(): Promise<any> {return; }
/**
*
* @param distinctId {string}
* @returns {Promise<any>}
*/
@Cordova()
static identify(distinctId): Promise<any> {return; }
/**
*
* @param token {string}
* @returns {Promise<any>}
*/
@Cordova()
static init(token: string): Promise<any> {return; }
/**
*
* @param superProperties
* @returns {Promise<any>}
*/
@Cordova()
static registerSuperProperties(superProperties: any): Promise<any> {return; }
/**
*
* @returns {Promise<any>}
*/
@Cordova()
static reset(): Promise<any> {return; }
/**
*
* @param eventName
* @param eventProperties
*/
@Cordova()
static track(eventName: string, eventProperties: any): Promise<any> {return; }
/**
*
* @returns {Promise<any>}
*/
@Cordova()
static showSurvey(): Promise<any> {return; }
/**
*
* @returns {MixpanelPeople}
*/
@CordovaProperty
static people: MixpanelPeople;
}
export declare class MixpanelPeople {
static identify(distinctId: string, onSuccess?: Function, onFail?: Function): void;
static increment(peopleProperties: any, onSuccess?: Function, onFail?: Function): void;
static setPushId(pushId: string, onSuccess?: Function, onFail?: Function): void;
static set(peopleProperties: any, onSuccess?: Function, onFail?: Function): void;
static setOnce(peopleProperties: any, onSuccess?: Function, onFail?: Function): void;
}