Kevin McMahon


Monotouch: Flurry Demo App

Github repository can be found here: Flurry Test App.

Recently a request was made for a working example of a Monotouch app that uses the Flurry bindings so I put one together. The example, while trivial in its nature, shows the basics required to incorporate the Flurry SDK Objective-C libraries and their bindings into a Monotouch app and provide an example call pattern that shows how to use the Flurry API.

There are a couple things to note about this demo app. You’ll need to register with Flurry and get a unique application key to use with the test app. In the example code you will see that I have some comments about providing a real debug and release application key. A best practice is to have two separate keys so you can keep your production analytics separate from your test analytics. So while you are testing your app use the testing application key and switch it out for the release application key when submitting your app to the App Store.

The latest Flurry SDK is designed to work with iOS version 4.1. If you are looking to have your app run on devices still running iOS 3.x, you can either add a couple extra linker flags as extra arguments or use an older version (2.6) of the Flurry SDK. I plan on updating the demo example to include the linker flags needed to get 3.x support with the latest Flurry SDK.

Finally, I have included a line of code in the example that appears extraneous and out of place. This is to make sure that Monotouch doesn’t strip out code that Flurry has an implicit dependency on. Monotouch aggressively prunes unused code from assemblies to shrink the size of apps and this trivial demo app doesn’t make explicit use of anything from a part of the CoreGraphics library that Flurry needs (something which almost all non-trivial iOS apps will do by necessity) so it gets excised during compilation.

I hope this helps get people started. The Flurry analytics are really easy to use and provide a lot of valuable data. Please let me know if you have any questions or comments on the example.