Learn about beta deployment systems, and Fabric.io Beta.
- [Instructor] Once we have developed our app to a certain point in the development cycle or we have reached a feature complete milestone, it is usually a good practice to distribute it to select users, other developers within our team, the customer or to a QA team so that it can be beta tested externally. Being able to deploy software to certain users and obtain their feedback is a key part of the software development cycle. This is what an app deployment system allows us to do.
It is like having a personal or in-house Google Play Store for testing. It solves the problem of how to release an app that is not yet ready for Google Play Store release. It is commonly used as a component of a continuous integration system, where multiple builds are built and released many times during development. It is a key component of iterative development, which is where features are designed and tested in a repeated cycle. A beta app deployment service should have the following key features; First, there should be support for continuous deployment.
This is important because it enables early feedback of your changes and allows developers to find problems early and fix them while the cost is still cheap. Next, is app version support. This is important because when problems or bugs arise, it is good to know which version that bug first started to appear in, to enable developers to quickly find and isolate the problem. Next, we have access permissions for individual testers. This feature is important when you have many different types of users accessing your software product.
They could be QA but it could also be someone in marketing or even the end customer. Controlling who gets what version of the software product becomes important. You don't want the wrong version of the product to fall into the wrong hands. Next is distribution lists permissions. This becomes important when setting up staged releases or you have more than one group of testers to provide feedback on certain parts of your app. And finally, we obviously want a cheaper service, the cheaper the better.
There are currently four popular services that can be used to deploy a beta version of an Android app to end users. The first is Fabric IO beta. The second one is HockeyApp. The next one is Google Play Store, where they have set up their own alpha testing community for Google+ users. And finally there is buddybuild. You'll notice that some of these service providers are the same ones which provide the crash reporting tools as well.
This is part of a growing trend to provide an all-in-one package of services to the app developer. I have chosen to use Fabric IO Beta to deploy my apps for the following reasons. First, it is easy to use. The sign-up and registration process is very simple and straightforward. Also, it automatically installs an Android app to help simplify and manage the Beta deployment process. And finally, it integrates well with their existing Crashlytics crash reporting system.
- Configuring Android Studio
- Getting started with Fabric.io
- Preparing for Fabric.io release
- Deploying to Fabric.io Beta
- Testing beta deployment
- Setting up Fabric.io Answers
- Defining and implementing the analytics model
- Defining interfaces for analytics
- Defining and implementing the analytics trackers
- Implementing the analytics client
- Setting up a Firebase console
- Testing Firebase authentication
- Implementing and verifying remote configuration