Book Image

Getting Started with Flurry Analytics

By : Bhanu Birani
Book Image

Getting Started with Flurry Analytics

By: Bhanu Birani

Overview of this book

Analytics help you to understand the way your users are interacting with your mobile application. Flurry provides you with a strong analytics tool to keep track of your application and to analyze your application data without much hassle. It provides an SDK for almost all platforms to gather data from all platforms of mobile and web applications. The enormous amount of data Flurry handles directly translates into unique, powerful insights into your applications.Getting Started with Flurry Analytics is a practical, hands-on guide to instantly getting started with Flurry analytics using step-by-step exercises. You will take advantage of the real power of Flurry analytics and provides you with an example-based learning approach to help you master it quickly and efficiently.This book starts by discussing how to set up and integrate Flurry analytics and ends by making you aware of how to track your application using Parse. You will also learn about tracking your application data using Flurry analytics to strengthen your strategies and to improve the application monetization process. You will also learn about configuration and implementation of Flurry analytics and how to make the application track all the necessary details to empower management decisions.
Table of Contents (12 chapters)

Setting up basic code


To set up Flurry, open your Application Delegate file and import Flurry on top, exactly where you imported all the other header files. Then, inside your applicationDidFinishLaunching: method, call [Flurry startSession:@"YOUR_API_KEY"]; with the following code:

#import "Flurry.h"
- (void)applicationDidFinishLaunching:(UIApplication *)application { 
[Flurry startSession:@"YOUR_API_KEY"];
//your code
}

Tip

Downloading the example code

You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

That's it! This is all you need to configure to start receiving the basic updates and metric analytics from Flurry. The basic metrics provide you with all the items under the Usage, Audience, and Technical sections.

This includes tracking all the basic items such as the application's Usage, Audience, and Technical sections in the Flurry portal.

The previous code will allow you to access features that are explained in the following sections.

Sessions

A session can be described as an end user's one-time use of the application. This tracking starts at the application launch and ends when the user forces a close or terminates the application. Flurry allows users to specify the session's start and stop times; however, it depends on the platform. Note that the session does not depend on the number of screens viewed in the application and the amount of time the application is used.

In case your users are using application in the offline mode or when they are offline, Flurry stores the data locally and pushes the data to Flurry the next time your application is open in the online mode. This is so that you do not lose any data.

Active Users

Active Users is defined as the number of users having at least one session in a given period of time, that is, days, weeks, and months. In case a user launches your application more than once, it will still be counted only once. So, for any given time interval, you will have a unique count of the active users.

New Users

When a user first begins to use your application, Flurry refers to this user as a New User. Flurry provides a unique device ID to identify the new users, and these vary depending on the platform. Flurry recognizes new users when they initiate or start using the application. If the user has downloaded the application and has not launched it, it will not be counted. If a user deletes the application and reinstalls it on the same device or upgrades the device to a new version, it will not be re-counted. However, if a user downloads the application to a new device, it will be counted again as the new user count mainly depends on the device identifier.

Session Length

This is defined as the length or duration of the total session. It's basically the time between the application's start event and end event, which may vary based on the platform used. In some cases, such as when the application crashes, we have the start time of the application event, but there is no end time recorded. Hence, the session length is unknown. Flurry does not include instances for the calculation of average and median session length. Session length can vary depending on the way you integrate the SDK in your application project and whether you follow the recommended practices.

Frequency of Use

The number of sessions with respect to unique users over a given period of time is called Frequency of Use. Flurry tracks the frequency of use of your application on an individual user basis, so that the aggregated metrics will display the real average value and their estimates.

Benchmarks

Flurry has vast amounts of data. So to ease the reading of useful information, Flurry leverages its data to provide readers with useful benchmarks. You can track your application performance and results by comparing them against category benchmarks on the selected metrics.

Page Views

This section allows you to access the number of the application's discrete sections or screens accessed by users. You can customize and decide the way you want to define page views. We will learn about Page Views in more detail in the upcoming chapters. You can track your screens and check which pages are accessed the most.

User Paths

Flurry allows you to track the paths that users take while navigating through your application. You can track customized events and the user path. Flurry accumulates this data automatically, calculates the final figures, and provides valuable insights that can help you to check the pathways followed by the user while using your application.

Lifecycle Metrics

You can track and access groups and users, and based on the date, you can even measure their retention rates. This includes new users of the application along with the page views.

User Retention

This section crunches your data and provides you with data on the users filtered by cohort. User Retention depends on when the user has launched the application's log with that. It will measure whether they are still in the active user category of the application. This metric contains the retained user that had at least one session with your application in the past seven days from the current date.

Version Adoption

This section helps you to track the number of users that are ported to the new version of the application. It also gives you details about the evolution in usage over a period of time as the user upgrades the software version.

Demographic Estimates

This section details the gender and age of the users using your application. You can check which age group and users are your prominent customers. However, to read this in detail, you need to provide these details to Flurry using its SDK. In case you do not provide such information, Flurry will use its own algorithms to estimate these data sets.

Time of Day Reporting

It tracks the time of the day when your application was used or viewed according to its local time. Hourly reporting allows you to see the usage of your application on an hour-by-hour basis. It provides detailed and important control over the user activity.

Geographic Usage

This section helps you to get reports based on a user's geographical location and further break it down by geographical area in terms of average active users, total sessions, percentage of users retained, and the median session length.

Language Metrics

This section helps you to fetch the number of new users, active users, sessions, and the number of retained users filtered by users, device language. You can get good insight into your application's users based on geographical locations.

Devices

You can read data regarding the device on which the application is used the most. Flurry provides you with the data count for the sessions opened by any specific device type. The data received by Flurry is provided by the manufacturer of the device, but sometimes it is not available in few of the devices. Not all the devices support data sharing on Flurry.

Carriers

This section provides you with the tracked reports of the number of sessions that are opened by users using specific carriers. You can filter the graphs and charts based on the specific carrier's data to get a report on the carrier your application is used on the most. Note that not all sessions and carriers can provide such data.

Firmware Versions

Flurry generates data based on the number of sessions generated by the device's firmware. You access the application's usability based on specific firmware. Note that not all firmware provides such a feature for generating a session's data.

Logging Events

Flurry allows you to log custom events to track user-specific actions made in your application, for example, browsing products, playing the radio, social media sharing, and so on. These activities help you to understand how users interact with your application. The following points will help you to capture the information.

Events

Events can be divided into two levels based on their architecture. The top level in this hierarchy is the specific action, in our case, the playing of music using your application. Let's name this event as Playing Music. By tracking such events, you can measure the number of users who read articles from your application along with the frequency of the articles that are read from your application, and so on.

You can use the following code to track such custom events in your application:

[Flurry logEvent:@"Article_Read"];

Flurry allows you to track a maximum of 300 events for each of your applications. After adding such custom events in your application, Flurry will automatically create user paths based on the event data so you can access the path that the user is following while using your application. You can also create funnels and user segments to track the path followed by a user while using the application.

Event Parameter

Event Parameter is the next stage of the Event structure that we saw in previous topics. Flurry allows you to pass custom event parameters that define the characteristics of the event. For example, a characteristic of the Playing Music event is the artist of the album. Characteristics of the user can be their status, such as registered users, guest users, or anonymous users. These parameters will help you to easily filter the graphs and distribution data for the event based on its characteristics. This will help you to know which song is the most played song or which album has has the maximum listeners. This can also provide you with the statistical percentage, for example, you can track the percentage of users that are playing a particular album;

NSDictionary *artistParams = [NSDictionary dictionaryWithObjectsAndKeys:@"John Mayer", @"Artist", // Capture artist info@"Registered", @"User_Status", // Capture user statusnil];

[Flurry logEvent:@"Artist_Played" withParameters:artistParams];

Your event can catch a maximum of 10 parameters, and each parameter can hold an infinite number of values that are associated with it. For instance, for our Artist parameters, there can be hundreds of possible values for artists who have released albums. You can track all the artists using this one parameter on Flurry.

Event Duration

Flurry provides a way to track your events with time duration and metric access to the average overall length of the event filtered by sessions and users, which are automatically recorded by Flurry based on the usage of the application. To capture the event duration along with the event and associated characteristic parameters, you can use the following log pattern of logging the event duration along with the event parameters:

NSDictionary *artistParams = [NSDictionary dictionaryWithObjectsAndKeys:@"John Mayer", @"Artist", // Capture artist info@"Registered", @"User_Status", // Capture user statusnil];

[Flurry logEvent:@"Artist_Played" withParameters:artistParams timed:YES];

// In a callback of the function which captures user navigation away from artist played.
[Flurry endTimedEvent:@"Artist_Played" withParameters:nil];
// You can pass in additional
//params or update existing ones here as well

Segmentation

Flurry allows you to create segments as well. The concept behind segmentation is to divide your users into groups to assess their overall collective behavior. Similarly, you can also get the group's users, which are filtered based on the set of actions they take or the pathways they followed to use the application. This method will help you to create corresponding events to track such users. In the preceding example we discussed, you can browse through the Flurry portal and create a segment or a group to access only the metrics of admin-based users who are playing songs from John Mayer's album. Segments prove to be a powerful tool to locate and rapidly understand the most engaged and valuable users of the application. You will learn segmentation in more detail in the upcoming chapters.