How to track App Store downloads LIVE!

by jasimq on January 16, 2012

It’s been a few weeks since the launch of our first iPhone app, iQila. One of the most exciting part of the whole game is looking at the live app download data.

If you have an app on the Apple App Store then you know that Itunes Connect only shows you the number of apps downloaded every 24 hours. To me that is just too much. I want to see immediately what impact my changes, new releases, tweets etc. have on app downloads. And it’s just easier to not get up in the middle of the night to check the number of downloads of the previous day.

We solved this “problem” with a simple PHP application we have called the AppController. We use the AppController to remotely change/tweak some of the iPhone app settings we have stored in the plist file. The way it works is that when the iPhone app starts up, it sends the iDevice’s type, iOS version, the app version, device token etc. to the AppController, and the AppController sends it the appropriate settings back in JSON.

This is some of the information that is sent to the AppController:

        NSString *device_info = [NSString stringWithFormat:@"%@%@", [[[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion]];
        NSString *deviceUDID = [[UIDevice currentDevice] uniqueIdentifier];

What’s important here is the UDID. We store the UDIDs in our database along with the first time the particular UDID was sent to the AppController. This tells us when was the first time a particular used accessed the app and allows us to group by these UDIDs per day to get the first accesses by day. Simple.

One thing to note here is that note all devices send a UDID. I believe this is true for unlocked/jailbroken devices. So your daily count could be slightly lower than what ITunes Connect shows.

Let me know what you use to track daily downloads. Would love to hear a simpler solution.

- jasim