Flurry Analytics integration in Xamarin.Forms based app

If you’re building a Xamarin-based mobile app and want to know more about how it performs, Flurry Analytics is a free tool you might want to consider. Check out our review to learn more about it.

March 4, 2016
devops ninja animation

Flurry Analytics is one of the most popular analytical data gathering tools. It has a wide choice of functions and is compatible with the most popular mobile platforms (iOS, Android, Windows Phone). One of the benefits of this system is that it`s absolutely free.

Visit the website and developers’ portal to learn more about Flurry.

This document contains the full list of characteristics. The most popular ones are listed below:

1. Usage and technical characteristics:

2. Audience and performance metrics

3. Error app logging

4. Custom events logging

Flurry Analytics integration in Xamarin.Forms based iOS app

Nuget packages Flurry Analytics and Flurry Analytics Portable help to integrate Flurry Analytics into Xamarin app. The first one is to be installed into the project native part, the second one – into the core part. In fact, portable version can be installed and used in any part of the project.

The packages interaction, as well as their interaction with SDK and the different project  parts is shown in a diagram below

All the accessible functions are well described in the documentation. The following is the example of the analytics usage.

The Start and Flurry Adjustment

The analytics entry point is StartSession method which requires API_KEY. API_KEY is your app unique ID in the analytics system. To get this ID, register on the analytics site and create there your app. Further, you can specify when the data must be sent to the server, and activate different debug tools. For example, the reporting of app crashes or logging in debug mode.

Flurry configuration

Flurry allows collecting different information about user: age, gender, location. It will be useful to save the information about app version installed by user.

Flurry Events Logging

The possibility of registration and logging events is another helpful Flurry instruments. Logging events helps tracking user activity in the app. This information, for example, can be useful to improve the app. There is also a possibility to send parameters to the logging methods. This will allow to fix an event, as well as to save the additional information.

Registration of Timed Events

Flurry functionality includes a number of methods for registration and logging Timed Event. They help to track event length. For example, you can fix time spent by the user on a page.

You can study and download the sample from GitHub. However, you have to register on Flurry Analytics and specify your API_KEY in initialization method to see how it works.

What’s worth special attention during the Flurry Analytics integration
  1. In the native project part, you can work with portable as well as native versions. It means that you can work with the analytics using both Flurry.Analytics.Portable.AnalyticsApi and Flurry.Analytics.FlurryAgent.
  2. The analytics entry point must be in the native part, because various analytics initialization methods are used for different platforms .
  3. One of the interesting facts is that you can start the events logging, information gathering, etc., without session launch. Flurry will send to the server all gathered information after the first session would start.
  4. Data synchronization. Flurry is not the real-time system which is a definite drawback. All the data gathered throughout a session isn`t sent to the server but cashed. The dispatch takes place only when the application closes or in background mode (this happens with a time delay – time-out). Under such conditions there is a risk of loosing data, but you can`t force sending data to the Flurry server.It should be mentioned that there is the session abort method in SDK, but it can be used with Android and Windows Phone apps only.
  5. In the event log information appears every 3-5 minutes. Charts and statistics can be updated up to 24 hours.
  6. Each project supports no more than 300 events.
  7. Each event can have no more then 10 parameters.
  8. The unique event ID, parameter name and parameter value can`t exceed 255 characters.

Charts and graphs


Flurry Analytics is a free easy-to-integrate analytics system which allows to measure the most popular characteristics. This system is compatible with the most popular mobile platforms. The greater part of functionality can be used without additional settings. Nuget packages allow to integrate Flurry Analytics in Xamarin based apps without much effort (in particular, based on Xamarin.Froms). The lack of flexibility in sending data to the server, as well as the absence of detailed app error reports may be seen as disadvantages of this system.

Want to share your thoughts on this post or discuss how we might help you with the project?

devops ninja animation
devops ninja animation
devops ninja animation

More Articles

Back to blog