Safe Release of Mobile Applications
Releasing your mobile app to the app store or google play is a vital step to getting your app to your users. Here’s what you need to know about how to do it right.
Releasing your mobile app to the app store or google play is a vital step to getting your app to your users. Here’s what you need to know about how to do it right.
When you publish an app on Google Play or the App Store, it takes some time to become available to users. Both platforms require you to follow their guidelines and ensure your users’ data is secure.
Google Play takes a loose app release approach. Most apps are up the next day. App Store demands even more time to verify an application — up to four weeks — to test a new app and check that it’s compliant with the App Store guidelines. Here’s what you need to do to make sure the safe release of your app runs smoothly.
Analytics is a crucial step of mobile app release as it can give deep insights into the software behavior and user experience. Its main use is to help you identify errors and understand how to fix them. You can keep track of your analytics with multi-purpose tools compatible with both Android and iOS apps. Analytics has to be applied to your software even if the initial testing phase has finished successfully.
Crashlytics is a crash-reporting tool for Android and iOS apps that allows you to get a better understanding of how your app functions. This helps you assess the effect on user experience and can help you focus on fixing the most urgent errors first.
Sentry has similar functionality, but it has extra possibilities such as monitoring of full stack and error performance as well as tracking bugs present during the release stages. Other features of Sentry, such as real-time event ingestion and working with single tenant instances, are not available in Crashlytics. Sentry also provides developers with support for Xamarin, React Native, and Flutter.
Alerts and warnings from crash reporting tools keep you informed about code problems.
For example, Sentry supports a system of alerts of several different types. It’s possible to customize integrations and thresholds for each of them introducing new rules for alerts.
A crucial type of Sentry alert is Issue Alert earmarked for errors. To generate an alert, an issue has to meet certain requirements, which are checked using the “when” conditions. Another important type of Sentry’s alerts is used for both performance metrics and error frequency. Such alerts ping when a certain measured value is reached, for instance, for the failure rate, it will be the total number of errors in the entire product or the sum of crash-free sessions.
Release stability is usually understood by looking at the effect bugs have on user experience. This is the way the task can be achieved with Sentry, which also pays attention to the importance of visualization tools used for delivering the information in a comprehensible way.
This tool uses server-mode/request mode sessions as well as user-mode/application-mode sessions through which the user and app interactions can be understood. The first type of sessions covers the time between the server receiving a request and sending a response. The second one relates to the time of app usage. The starting points can be the start of an app itself or the moment it is activated from the background. The end of the sessions can be quitting an app or leaving it in the background.
Sentry distinguishes crashed sessions with unhandled errors, errored sessions shutting down normally despite error occurrence, abnormal sessions with freezing, and healthy sessions with no issues.
Unfortunately, the most thorough testing can’t completely eliminate the possibility of undesirable app behavior, performance issues, and errors. Even once the problems are addressed, negative reviews might still be there cautioning other potential users and severely decreasing the ranking of your project.
The issue can be balanced to a great extent with phased releases supported by both Google Play and the App Store.
This is an option that allows you to give access to your updated applications only to a limited number of random users. The number of users who are able to see and try your app will grow gradually until it reaches the full audience. Often this can happen within a week.
In such a way, you will have a chance to learn about inaccuracies of your software by sharing it with real users and still not making your product too vulnerable, exposing it to every Android or iOS user while it might still need fixing.
You can pause rollout whenever there is an app issue to stop it from being distributed further. During the pause, the binary can be replaced to provide new users with a fixed app. Still, revoking the faulty version is not possible once it is installed on a device. For both Google Play and App Store, only the distribution of a new build with a new version number can address the problem.
The App Store and Google Play have a similar offer of phased release providing developers with a randomly chosen group of users. Yet, the possibilities for targeting the audience are wider with Google Play allowing developers to adjust the first users to the needs of the product better. Furthermore, this platform also makes it possible to customize the percentage of users. While only users with automatic updates enabled can have access to your app during its phased release straight away, the ones choosing manual updates can also see the new version of your software.
Note that App Store gives developers a chance to work on the issues with the new version of their product by pausing the release even up to 30 days.
Depending on the version of Android, there might be a possibility for manual installation of a previous version of a mobile application for users as long as they are not participating in Google Advanced Protection Program. This can work for third-party applications while system programs cannot be uninstalled for the reinstallation of an older version. Still, some Android versions support the uninstallation of updates.
App Store will give you an opportunity to install previous versions of a mobile app directly under the condition of such versions being available to users. The majority of most recent apps lack backward compatibility.
While Google Play usually does not take much time to release new apps, App Store conducts them to a detailed examination. This time should be taken into consideration when you are planning a release of your mobile application. Still, there are certain situations that can give you a chance to use Apple’s Expedited review opportunity to receive feedback faster.
One of the most common cases for applying for Expedited Reviews is associating the release of an application with a certain event. For such situations, it is highly recommended to schedule the release beforehand using App Store Connect, however, it will not guarantee you getting your review before the event. For such unique cases, Apple preserves the Expedited review option on request.
There is also another common scenario for Expedited reviews related to fixing critical bugs.
Note that App Store rarely practices immediate releases.
Being sure your app is both high quality and follows App Store guidelines is a key consideration when you’re releasing your app. If there are any issues violating the official guidelines of the App Store, you might fail to release it on this platform.
While it might seem Google Play has less stringent regulations for apps, and it can minimize the release time regardless of the quality of your product, it will be safe for you to create complete software of high quality before releasing it on this platform as well. Unlike the App Store, Google Play is overcrowded with similar products, which actually makes it even harder to get visibility. It might be a better place for launching your MVP, however, for successful monetization, an Android product should also have excellent performance.
Are you looking for a tech partner? Searching for a new job? Or do you simply have any feedback that you'd like to share with our team? Whatever brings you to us, we'll do our best to help you. Don't hesitate and drop us a message!
Drop a message