Detecting API issues in mobile apps.
Updated: Aug 10, 2019
Most mobile apps have a server-side application that it talks to over HTTP / HTTPS. These API calls are usually critical for the successful execution of the features in the app. Any failure during API calls results in incorrect execution and bad user experience. It’s critical for mobile app developers to get notified about such issues so that they can fix them at the earliest and thus prevent bad user behavior.
API calls from mobile apps fail because of the following reasons
Server-side Application layer issues
Web Server issues
Wrong request parameters
Wrong request headers
Network and execution delays.
Monitoring at the server side can detect only if the request reaches the application layer. For web server issues, network layer issues and delays, monitoring at server side will not help. The mechanism that helps in detecting all issues related to API call will be to monitor at the request source.
While monitoring API calls from the mobile app side, it’s important not to induce any delay or performance impact in the execution process. Which means, the monitoring tool should not act as a proxy, rather should just be a listener to request and response. It was with this in mind that we built API call failure reporting feature in Finotes. The tool successfully identifies network issues, error status codes and API call delays and reports the same to the developer.
A few days ago, one of our customers faced an issue where a critical feature was not working for some customers. They checked the server side logs, wrote code to monitor API calls and did everything possible, but could not detect any anomaly or error. It was around that time they heard about Finotes and decided to try it out.
They integrated Finotes into their app quickly and released a new version with that. Within hours they noticed that one of the API calls was not getting through and was failing to reach the server. As more occurrences of the issue started getting reported by FInotes, the tool showed them an important data point that all the failures happened from one country.
That’s it. They were using a third party API for one of their features and that particular API was failing in one particular country. Now they could go behind the issue with clear direction. They further dug in and found out that the third party API was in fact blocked in that country. It took some time for them to get the issue fixed as it was outside their control, but they were able to find what the issue was rather than being blank about it.
Finotes is a mobile SDK which when integrated to mobile apps, identifies memory issues, API failures and delays, failures, and delays in function calls and failures and delays between function calls