Getting Started with mPulse SDK for Native Apps

Prabhu, Karthik

Getting Started with mPulse SDK 20.32+ for Native Apps

 

Akamai mPulse is a real user monitoring (RUM) solution that enables developers, admins, and performance engineers to easily see the website and mobile app performance problems and discover optimization opportunities that traditional testing methods can’t unveil. With mPulse, you gain actionable insights on how elements such as third-party resources, user interactions, and visual progress are impacting your application delivery and the end-user experience.

mPulse lets you quickly dive into detailed performance and error analyses, helping you understand the impact on critical user interaction metrics such as page views, conversions, and more. 

mPulse collects and returns data on your website’s performance and metrics on the user's web browsing experience. To accomplish this, a Boomerang module is embedded on each page of your website. For native mobile apps, Akamai provides iOS and Android SDK’s to collect and return data to your mPulse dashboards. This document describes how to get started with monitoring your native mobile apps using the mPulse SDK on top of the Aka Common framework.

For information on how to create and manage your dashboards see our product documentation.

 

How the mPulse SDK Works

The mPulse SDK lets you automatically instrument all network requests from your app, and send Custom Metric and Custom Timer beacons to mPulse reporting dashboards just as you would with Boomerang tags. For each beacon, you can set the View Group, A/B test, and Custom Dimensions.

The mPulse SDK automatically monitors all network activity performed by the application and its libraries. Each network request can be monitored individually, and its performance data can be sent on a beacon.

Alternatively, we strongly recommend using Actions, which are distinct user interactions such as app view loads. When using Actions, All network requests during the Action will be included on the Action beacon’s Waterfall. For example, JSON, images and 3rd party tags will be tracked under a single action, which is how real user data for your websites is presented. In addition to making your performance data easier to read and analyze, Actions are more efficient and less expensive because fewer beacons are sent to your mPulse dashboards. 

 

The primary features of native app monitoring with mPulse SDK are listed in detail below. 

Feature

Description

Custom Metrics

Custom Metrics are user-defined counts that refer to a business goal, or a Key Performance Indicator (KPI) such as revenue, conversion, orders per minute, widgets sold, etc. The value or meaning of a Custom Metric is defined by the App Administrator.

 

You can programmatically increment a Custom Metric using the SDK.

 

Custom Metrics must be defined in the App dialog through Akamai Control Center before use.

Custom Timers

A Custom Timer can be based on any measurable user-defined duration.

 

You can programmatically send the value of a Custom Timer using the SDK.

 

Custom Timers must be defined in the App dialog before use.

View Groups

A View Group (also known as a Page Group in a web app) allows for measurement across views that belong together. Grouping views in this way helps you capture and summarize the performance characteristics across the entire group.

 

For mobile apps, Launch may make up one View Group, while the Login view may make up a second, and Product views the third group. Search Results and Checkout views may also have their groups.

 

You can programmatically set the View Group using the SDK.

Custom Dimensions

In addition to the out-of-the-box dimensions already provided within mPulse, App Admins can define additional Custom Dimensions for the given app. For example, a Custom Dimension to track Premium Users versus Free Users.

 

You can programmatically set a Custom Dimension using the SDK.

 

Custom Dimensions must be defined in the App dialog before use.

A/B Test

You may get, set, and reset the A/B Test. Once set, the A/B Test will be associated with every subsequent beacon.

App Actions (Waterfall Charts)

Actions can be started at any time by calling startAction(), and stopped by either calling stopAction(), or, by having the SDK automatically stop the Action once all network activity has finished.

 

The two Action modes are called Wait mode and Timeout mode. All network requests during the Action will be included on the Action beacon’s Waterfall.

 

There can only be a single Action ongoing at a time.

 

Note that mPulse SDK is available to all mPulse Enterprise customers. Support for mPulse Lite will be available soon.

 

Creating an app policy and generating a license key for mPulse

  1. Start by navigating to the Akamai Control Center at https://control.akamai.com/
  2. Click on the hamburger menu located at the top left corner.​Hamburger
  3. Type “mPulse” in the search bar and click on mPulse real user monitoring from the results and you will be routed to the mPulse portal.mPulse
  4. Click New App. (IMPORTANT NOTE: When integrating SDK version 20.32 or higher, with the unified framework Aka Common, you may select any native project type. Your only goals are: to obtain the API Key and complete setup.)NewApp
  5. Select any Native project type and fill in your app name. Upon completion click Next.ProjectType
  6. Click Next. (The steps to integrate mPulse SDK have changed for SDK version 20.32 and above. Please ignore the steps mentioned here and refer to the iOS or Android Integration guide at the end of this Getting Started Guide).APIKey
  7. Click Advanced.Advanced
  8. In the Advanced Tab copy the API Key which you will use in the next steps. You may choose to configure custom metrics and timers at this time or during SDK integration.APIKey

 

Once your app has been configured in mPulse, you can start using the mPulse SDK with the API Key.

At this point, you are ready to download, configure and install the SDK. Follow these links to get more instructions on how to configure individual features for mPulse SDK on Android and iOS.