Developing a new app I didn’t want to pollute my analytics data in mixpanel with development / test data. So I wanted a clean way to be able to separate the test data with the release data. “Not” tracking anything when in development mode was an option but I kinda wanted to be testing this as well … making sure I was always tracking the right things. At the same time, I also wanted to be able to blow away the metrics from development really easily. You hit Mixpanels 500K free events surprisingly quickly.
So a drop dead simple way to do this was to create two different Mixpanel projects – one for release, and the other for debugging.
Then in your ios AppDelegate.m you can simply use the appropriate key based on what mode you’re in.
//appdelegate.m #ifdef DEBUG #define MIXPANEL_TOKEN @"YOUR_DEBUG_KEY" #else #define MIXPANEL_TOKEN @"YOUR_RELEASE_KEY" #endif @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //Other stuff [Mixpanel sharedInstanceWithToken:MIXPANEL_TOKEN]; return YES; }
Now that I’ve done that, my development analytics data is nicely partitioned in one place (so I know things are working), and it’s easy to delete.