Announcing Real User Monitoring for mobile: Improve user experiences on any platform

| 4 min. (836 words)

Raygun Real User Monitoring for mobile gives you the power to take a deep dive into exactly how your end users are navigating through your applications, and where they may be experiencing problems like slow page load speeds or problematic scripts.

Today we are officially releasing full support for mobile applications to go alongside existing support for web-based applications. So you can now enjoy real user monitoring for mobile and web! 

During our open beta of Real User Monitoring (RUM) for mobile, we’ve received great feedback and suggestions that allowed us to refine and enhance Real User Monitoring for mobile. The insights you gain from RUM for mobile will cut down the time spent wondering what to improve and will take you straight to the real problems your end users face.

See how to get started with Real User Monitoring for web or Real User Monitoring for mobile.

What we’ve added since our RUM for mobile beta launch:

Automatic network performance logging for Android

Firstly, let’s look at Android. Raygun4Android will now automatically report the time it took to make a successful network request using java.net.__HttpURLConnection and javax.net.ssl.HttpsURLConnection classes.

The duration of the network request will be tracked and reported in the performance tab of your application under network calls:

Expanded automatic network performance logging for iOS

We have expanded our coverage of automatic network logging to include NSURLSession methods that make use of NSURLSessionDelegate callbacks. The full list of methods that Raygun automatically logs on iOS is below:

[NSURLSession dataTaskWithURL:]
[NSURLSession dataTaskWithURL:completionHandler:]
[NSURLSession dataTaskWithRequest:]
[NSURLSession dataTaskWithRequest:completionHandler:]
[NSURLSession downloadTaskWithURL:]
[NSURLSession downloadTaskWithURL:completionHandler:]
[NSURLSession downloadTaskWithRequest:]
[NSURLSession downloadTaskWithRequest:completionHandler:]
[NSURLSession uploadTaskWithRequest:fromData:]
[NSURLSession uploadTaskWithRequest:fromData:completionHandler:]
[NSURLSession uploadTaskWithRequest:fromFile:]
[NSURLSession uploadTaskWithRequest:fromFile:completionHandler:]
[NSURLConnection sendAsynchronousRequest:queue:completionHandler]
[NSURLConnection sendSynchronousRequest:returningResponse:error:]

Filtering view and network information

We have also made updates to the mobile providers to allow a more customizable RUM experience. Not all information Real User Monitoring for mobile reports share the same importance, so we make it easy to filter out that information before it’s sent to us:

You can filter out the reporting of view information by view name. For iOS, this will be the name of the controller class and on Android, it is the activity’s name.

Raygun4iOS:

[[Raygun sharedReporter] ignoreViews:[[NSArray alloc]initWithObjects:@"RootViewController", nil]];

Raygun4Android:

RaygunClient.ignoreViews(new String[]{ "MainActivity" });

If you don’t wish to log the performance of certain network requests, you can filter them out by URL.

Raygun4iOS:

[[Raygun sharedReporter] ignoreURLs:[[NSArray alloc]initWithObjects:@"raygun.com", nil]];

Raygun4Android:

RaygunClient.ignoreURLs(new String[]{ "raygun.com" });

We also provide the option to disable network performance logging entirely when attaching RUM.

Raygun4iOS:

[[Raygun sharedReporter] attachPulseWithNetworkLogging:false];

Raygun4Android:

boolean withNetworkLogging = false;
RaygunClient.attachPulse(this, withNetworkLogging);

Updates to the Real User Monitoring for mobile dashboard

We have updated and added new modules to the Real User Monitoring for mobile dashboard. In the performance tab, you will find new modules for the slowest views and average load time.

You can now see at a glance which of your views may need some performance optimisations and how they are performing over time. For example, below in the slowest views module image, we can see that ‘DataViewController’ may require the most attention to improve the user’s experience as it has the longest load time in your application:

The image below shows the average load times for sessions during a certain time period. This is a useful way to see the differences between the fastest and slowest load times, and to check whether any actions should be taken to reduce the load differences:

Modules in the view tab have also been updated to include the average load time for a view, giving you a chance to spot frequently seen views with poor performance:

The frequent last views module shows the last view the user saw before leaving your application. Adding the load duration helps to highlight the possibility that long load times is the reason why users end their session on this view:

We have continued the same improvements when inspecting a user session in more detail. We added an overall session average for view load times to the session overview:

The session trace blocks now include the individual view load times, giving you a clearer breakdown on where users are spending their time:

To get started with Raygun Real User Monitoring for mobile applications, simply log into your Raygun account and follow the instructions.

If your Raygun trial has expired and you’d like to try out RUM for mobile, get in touch with a team member here.

Add Real User Monitoring for mobile today!

In conclusion, Real User Monitoring for mobile is a great addition to your developer toolkit to understand how users are engaging with your mobile applications.

We’d like to hear your feedback and suggestions to help us improve Real User Monitoring for mobile. You can use the feedback link in the sidebar of the Raygun application, or visit the contact us page to be in direct contact with our team.

Now read:

How Real User Monitoring surfaces mobile application problems

Saving customers 75 hours a month with Real User Monitoring

What is software intelligence? A definition for software professionals