Mobile UEM

AppMon UEM's mobile application support lets you track visitors, actions, and action PurePaths triggered by your iOS and Android application. To trace user activity, you must add mobile agent method calls to your mobile application's source code. When the mobile agent is embedded in the application, user experience data can be analyzed in the same way as for users browsing your UEM enabled web site.

Mobile app ADK workflow
Mobile app ADK workflow

Supported platforms

  • A recent Apple iOS (armv7, armv7s, arm64 or later architecture, iOS 6 or later).
  • Android version 2.3 or later.

See Release notes for details.

Configure AppMon

The setup is similar to the setup for UEM:

Integrate with the application

Se the relevant topics linked below for detailed information on integrating the Mobile Agent into your mobile application.

Native Applications

Hybrid applications

See How to instrument a hybrid app.

If a web request is tagged and the server side is instrumented, the server side web request PurePath links to the mobile User Action PurePath.

  • If the web request is tagged on the same thread where a currently open action was started, it is always linked to this action.
  • If the web request is tagged in a different thread, it is only assigned to an action if the web request occurs during the time frame of the action and the action is left in the same thread. Because AppMon currently does not capture the latency between the web request started on the mobile side and received on the server side, linking by thread ID and time frame is not guaranteed to work as expected for higher-latency scenarios.

Configure mobile data collection

In the User Experience item of the System Profile Preferences dialog box, you can adjust mobile data capture settings. To access these settings, right click your system profile and select Edit system profile > User experience > <application tab> > Mobile applications. See Mobile applications of the System Profile - User Experience to learn about configuring mobile application settings.

To limit overhead, a maximum depth of 10 nested mobile actions is evaluated. Deeper nested actions are skipped and not shown in the User Action PurePath.

User experience settings - mobile applications
User experience settings - mobile applications

Define measures

To evaluate the results returned by the instrumented mobile application, subscribe new Measures for Mobile Actions in the Measure Configuration dialog box. To access it, right click your system profile and select Edit system profile > Measures, then expand User Experience Management > User Actions > Mobile Actions and double click the required measure. See Edit a System Profile and System Profile - Measures.

Analyze data

When you have configured AppMon for mobile data collection, the Visits Dashlet displays mobile visits, identified by mobile device, and shows all user actions per visit. To easily identify mobile visits, click Grouping and select either the Client type, Client family or Application

Right click a user action, and select Drill down > User action PurePaths to open the User Action PurePaths Dashlet linked to server-side PurePaths.

User Action PurePaths
User Action PurePaths

The Transaction Flow dashlet displays a visualization of your PurePaths, including PurePaths for mobile devices. To open it, right click a PurePath you want to analyze and select Drill down > Transaction Flow.

Transaction Flow Dashlet
Transaction Flow Dashlet

Zoom in to see where most of the time is spent.

The icons that identify mobile actions and events are defined in the following table.

Symbol Mobile Action/Event
Mobile lifecycle action (for example app start, display and redisplay of a view).
Timestamp for events of a lifecycle action.
Mobile action.
Named event.
Report value event.
Report error event.
Crash with attached crash report.
Recurring crash (no crash report attached).

Mobile App Performance Overview dashboard

Use the Mobile App Performance Overview dashboard to analyze data generated by mobile applications. Access this dashboard from the User Experience tab in the Start Center.

The dashboard displays the response time, visits, errors, crashes, and user actions of mobile applications.

Mobile App Performance Overview Dashboard
Mobile App Performance Overview Dashboard

Collected metrics

The following metrics are collected and available in various parts of UEM dashboards.

Metric Description
Agent Version Version of the Mobile Agent with which the application was instrumented (for example 6.5.0.2013).
Application Name The mobile application name.
Application Version iOS: CFBundleShortVersionString from Info.plist (for example 2.0.1). Android: android:versionName from AndroidManifest.xml (for example 2.0.1).
Application Build Version iOS: CFBundleVersion from Info.plist (for example 2.0.1.4567). Android: android:versionCode from AndroidManifest.xml (for example 234).
Battery Status Device battery strength (for example 70%).
Connection Type Mobile, WiFi, LAN or Offline.
Network Protocol Offline, 802.11x (for WiFi connections), LTE and others.
Device Name The make and model of the device. For example, SAMSUNG-SGH-I727, iPhone 5S, iOS Simulator, google_sdk (if emulator).
Device Manufacturer For example, Apple, Samsung, unknown (if emulator).
Total Memory Device RAM, in megabytes (for example 1024).
Free Memory Percentage of free RAM.
Number of Running Processes The number of active application processes running on the mobile device.
OS Family The operating system: iOS, Linux.
OS Name The name and version of the operating system, for example iOS 7.0, Android 4.2.
Screen Resolution The screen resolution in pixels, for example 480 X 800
Device Orientation The default orientation for the device, for example portrait for a mobile phone or landscape for a tablet.
Device Carrier The carrier that provides the signal for the Android device, for example AT&T. Android displays if the carries is an emulator. Not available for iOS.
CPU Information The device's CPU, for example ARMv7.
Rooted/Jailbroken Whether the device's software is rooted (Android) or jailbroken (iOS). Displays genuine if device's software is not rooted or jailbroken.

Overhead

The overhead depends on the instrumentation that you put into your app. It consists of:

  • Data traffic to the server
  • Memory usage
  • Execution time of the action in the app

All three factors mainly depend on the number of nodes that your instrumentation is about to produce.

For example, assume a user generates 20 user action per agent send interval (the default interval time is 2 minutes) and each user action consists of ten nodes: a root node and nine subnodes. The average node size is approximately 150 bytes. So ten notes add up to 1500 bytes (10 * 150) and 20 user action add up to ~30 KB (20 * 1500 bytes). Normal user actions consist of less than ten nodes per action, so overhead should be less than in this example. Also the agent uses gzip compression to reduce the data traffic to the server.