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:
New automatic network logging for Android
Expanded iOS automatic network logging coverage
Added filtering for view and network information
Updated RUM for mobile dashboards
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:
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:]
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);
#user experiences