Advanced Features for Flurry Analytics with iOS

Flurry offers a number of advanced features for iOS developers that enable you to gain even greater insight into your users.

For example, you can track

  • geographic location of your users
  • age and gender
  • user ID
  • errors
  • page views

Tracking and Reporting Data

To track and report this data, you use the following Objective-C methods.

Track geographic locations

After starting the location manager, you can set the location with Flurry. You can implement CLLocationManagerDelegate to be aware of when the location is updated.

Below is an example of how to use this method after you have received a location update from the locationManager.

This allows you to set the current GPS location of the user. Flurry will keep only the last location information. If your app does not use location services in a meaningful way, using CLLocationManager can result in Apple rejecting the app submission.

Track user ID and demographics

After identifying the user, use this to log the user’s assigned ID or username in your system.

Warning: Per our Terms of Service, you are not allowed to pass along unique device identifiers such as IDFA in this field.

After you identify the user, use this to log the user’s age. Valid inputs are 0 or greater.

After identifying the user, use this to log the user’s gender. Valid inputs are m (male) or f (female).

Track application errors

Use this to log exceptions and/or errors that occur in your app. Flurry will report the first 10 errors that occur in each session.

Track page views

To enable Flurry Agent to automatically detect and log page view, pass in an instance of UINavigationController or UITabBarController to countPageViews. Flurry Agent will create a delegate on your object to detect user interactions. Each detected user interaction will automatically be logged as a page view. Each instance needs to only be passed to Flurry Agent once. Multiple UINavigationController or UITabBarController instances can be passed to Flurry agent.

You can learn more about page view tracking here

In the absence of UINavigationController and UITabBarController, you can manually detect user interactions. For each user interaction you want to manually log, you can use logPageView to log the page view.

Please note that Page Views are different from Custom Events. If you are interested in understanding a specific in-app action (e.g. user views Main Menu screen), track that action using Custom Events.

More details on setting up these Events can be found at Custom Events.

Configure when data is sent to Flurry

This option is on by default. When enabled, Flurry will attempt to send session data when the user exits the app and when the user starts the app. This will improve the speed at which your application analytics are updated but can prolong the app termination process due to network latency. This option mainly applies for devices running < iOS 3.2 that do not enable multi-tasking.

This option is on by default. When enabled, Flurry will attempt to send session data when a user pauses the app and when a user starts the app. This will improve the speed at which your application analytics are updated but can prolong the app pause process due to network latency.

Flurry sends session data over SSL when a user pauses the app and when a user starts the app.

Create an Ad Unit to Earn Revenue

With a little extra effort, you can leverage Flurry’s ad platform to increase revenue per user with high performing, quality ads. An average app can expect to earn up to $600/month with a banner ad and up to $1,000/month with an interstitial ad.

To accomplish this, you can Set Up Your Ad Unit in three easy steps.

You’ll have full control over the placement of the ad unit in your app, the ads being shown, time and frequency of when ads are displayed, and the audience segment you reach.

You can also use the ad unit to serve direct ads from your own portfolio of apps at no cost.