Flurry Analitics integration in Xamarin.Forms based app

By EGO Angel 1 year ago
Home  /  Developer's tools  /  Flurry Analitics integration in Xamarin.Forms based app
analytics

analytics

Hello dear reader! Our developer Sergei would like to share his experience in using of Flurry Analytics. He has wrote a useful review of this instrument. We hope it will be helpful for you in your work!

Service description

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 web site 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.
flutty-parts

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.

session_launch

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.

user_data

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.

log_event

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.

samples1_2

sample3

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

Technical Characteristics

graph1

graph2

 

Sessions Length and Frequency

graph3graph4

Users Activity and Personal

graph5graph6

 

Custom Events Logging

graph7

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.

Categories:
  Developer's tools, EGO inside
this post was shared 0 times
 400