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:
- Devices, firmware version, data storage devices, app version
- Number of sessions, session length and frequency
- New and active users
2. Audience and performance metrics
- Personal information
- Age
- Gender
- Geography
- Performance tests
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
- 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.
- The analytics entry point must be in the native part, because various analytics initialization methods are used for different platforms .
- 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.
- 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.
- In the event log information appears every 3-5 minutes. Charts and statistics can be updated up to 24 hours.
- Each project supports no more than 300 events.
- Each event can have no more then 10 parameters.
- The unique event ID, parameter name and parameter value can`t exceed 255 characters.
Charts and graphs
Summary
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?