Mobile Build Services
Analytics and Diagnostics
The course is part of this learning path
This course dives into creating a DevOps strategy for mobile applications using the Visual Studio App Center. The App Center gives us a centralized location where we can implement build services, carry out mobile UI testing with multiple devices sets, create public and private distribution groups, and perform release management for our distribution groups.
Build services include tvOS, iOS, Android, Xamarin, and more. UI testing includes UI testing across many popular flagship devices and uses a tier system to gradually cycle out older devices as newer ones become available. Distribution groups allow for deploying new releases to multiple types of users and can be utilized across multiple applications or projects. This course explains many of the options and services available in the App Center and provides guided demonstrations with a mobile app to show how each of these available services works.
By the end of this course, you should know how to utilize App Center to implement a DevOps strategy for integrating and deploying a mobile application. If you have any feedback relating to this course, please contact us at firstname.lastname@example.org.
- Create an App Center account and build a new application
- Perform UI tests in both the App Center CLI and Azure DevOps pipeline
- Create public and private distribution groups and release apps to them
- Understand and use the analytics and diagnostics provided by App Center
This course is intended for DevOps and IT professionals who are looking to implement a DevOps strategy for mobile applications using Visual Studio App Center to build, test, distribute, and deploy their mobile applications. This course is also useful for those preparing to take Microsoft's AZ-400 exam.
To get the most out of this course, you should know how to build and upload mobile applications if you are not using the build tools provided by the App Center. You should know how to work with Node package manager and have NPM installed or know how to install it. You should also be fairly comfortable with using command-line interface tools.
You can find the project files for a sample mobile application in the following GitHub repository: https://github.com/kelsosharp/MobileDevOps
With all software application development, there will inevitably be errors and bugs, and mobile development is no different. However, bug reporting and understanding the application state on a device you don't own can be much more difficult. Luckily, App Center has a few APIs that you can add to your application that allows you to gather analytical data and perform event and error logging to App Center itself.
Mobile applications differ in scale and architecture from your typical client-server or web application. These types of applications have central processing servers that you will have complete control over, and can write to event tracking systems and create your own log files. These files can be as large or as small as you'd like, and this gives you a lot of freedom to do whatever you need to do.
The same cannot be said for mobile applications. Mobile apps are more like off-the-shelf software packages installed on computers you don't own. You can still create log files and do event reporting, but you don't have ready access to these files or systems.
The limitations and restrictions for mobile applications is far stronger for a few reasons. The respective app stores have rules that must be followed, and so the data that you're allowed to collect is restricted. Further, the storage space on mobile devices is at a premium so you can't simply create large log files on these devices.
App Center solves both of these issues for mobile application development. When you distribute your mobile applications through the App Center, they are tracked and monitored. App Center Analytics will give you data on how many current installs are out in the wild. It can also tell the difference between unique installs and re-installs. It gives you statistics for daily usage, length of sessions, device specs, app version information, location, and language data. That's a lotta great information without any extra work for the developers.
As a developer myself, I've seen many challenges in regards to error handling and logging. Everyone seems to have their own way of doing things, and every developer has his own favorite tools for performing these tasks. In my experience, error handling in a consistent manner across multiple development teams is challenging and anything but consistent. The event logging and error handling in App Center gives you a simple and concise set of APIs to accomplish these tasks, while at the same time allowing for a fair amount of flexibility in the data you can track.
In our next module, I'll show you how to add the App Center analytics and diagnostics to your mobile application, and how to use some of the simple methods to get you started in event logging and error tracking to the log flow in App Center.
As well being the owner and CTO of Sharp Solutions Group, a software development and IT staffing company based in the Philippines, Kelso is a Microsoft Certified professional and an avid knowledge seeker. His belief is that you need to learn something new each day to stay on top of the constantly changing IT world. He is an avid gamer (both video games and board games) and lives in the Philippines with his wife and soon-to-be-delivered son.