Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does flurry analytics track my apps version number?

Tags:

ios

plist

flurry

I'm viewing my top used version numbers in flurry for my app. It appears flurry is using the build number field (bundle version) in my plist to report what version a particular app is. Is this true? If so, can I have use a different field in my plist? (i.e Bundle Version string short) How? I frequently change the build number and I want to see something like 1.0.1 (a version) instead of 28 (a build number) in flurry.

like image 693
Tyler Pfaff Avatar asked Jul 03 '14 20:07

Tyler Pfaff


People also ask

Is Flurry Analytics free?

Flurry Analytics Overview It's easy to use, powerful and completely free. Designed to help product, development and growth experts build apps users love, Flurry helps improve app engagement, run a data-driven product roadmap, boost user acquisition efforts and more.

What is flurry iOS?

Flurry Analytics: Mobile App Analytics Platform for Android and iOS. Info. Shopping.

What is data flurry?

Flurry Analytics enables users to analyze consumer behavior through data observations. The platform provides features for user segmentation, consumer funnels, and app portfolio analysis. The user segments can be categorized by things like paying versus non-paying customers or light versus heavy users.


1 Answers

I got bit by this too, it seems bizarre to me they would use the build number by default. I added an auto-incrementing build number script and by the time I next checked Flurry, it showed about 100 different "versions", each just a new build. Ugh, what a mess.

The good news is the Flurry API provides a way to explicitly set the reported app version at runtime. I have a #define in my prefix file that links to the "short version string", which in Apple's system is basically your user-facing app version (e.g. "1.0.2"), and is probably the one you want to be tracked in Flurry.

#define kAppVersion [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]

Doing it this way means that you don't have to remember to set the version in more than one place. Set it in your target's "Identity" section or in the Info.plist file and you're done.

Then in my app delegate's application:didFinishLaunchingWithOptions: method, when I start up Flurry collections, I tell it to use that.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Flurry setCrashReportingEnabled:YES];
    [Flurry setAppVersion:kAppVersion]; // <-- will now report your short version string
    [Flurry startSession:kFlurryAPIKey];
    // ...
}
like image 57
Ben Stahl Avatar answered Oct 04 '22 17:10

Ben Stahl