Press "Enter" to skip to content

Visual Studio 2020 Launch CICD for your mobile apps and games with Visual Studio App Center

Visual Studio 2019 Launch: CICD for your mobile apps and games with Visual Studio App Center ampgtampgt Hi, my name is James White, a program manager on the Visual Studio App Center team, and I am excited to share with you today about what App Center has to offer developers alongside the launch of Visual Studio 2019. No matter what type of mobile application you build, whether they be games, internal line of business apps, or even public-facing commercial applications, we have something for you to help make your lives easier. When it comes to app development, expectations from users, your customers has never been higher.

First, think about how apps have evolved over the last decade with their quality and design the best they have ever been. Additionally, in this fast information age, you need to keep up with a steady stream of updates and new content available to help ensure your users remain engaged and continue to use your apps. Customers also interact with a wider variety of devices on a daily basis. They wake up to an alarm on their smartwatch, browse notifications and social media from their phone, and listen to music with their smart speakers while getting ready for the day, or before sitting down in front of their computer or tablet to start the actual workday.

These factors bring their own challenges to you as the developer to meet in this new world. First, you need to leverage integrations into a variety of tools and ecosystems. You need to consider things like how users will authenticate, what tools will help process payments, or even how you will store and manage your data. Along with managing integrations, developers are continually shipping updates and fixing issues.

There is no longer a concept of an annual release cycle. You need the ability to rapidly go from new feature to implementation to shift release in less time than ever. In todays ratings driven world, one bad released can really slow the adoption of your app. Failing to address the issue, can have a significant impact on your bottom line. With new devices continually available, we need to be able to support our apps where our customers are, whether that be a computer, phone, watch or whatever comes next.

The broad other support, the more we can engage with users. That is where we at Microsoft come in. We have offerings to cover your needs on any app and any platform, whether its writing code and developing tools with Visual Studio, leveraging our cloud backend services on Azure, or automating your development pipeline with App Center. There is a tool for the job to help you face the challenges you see on a daily basis. Now, with App Center, we truly strive to offer something for everyone, we support the platforms you need to support including Android, iOS, and UWP.

Initially, we support many of the development frameworks you are already working in including Java, Swift, Xamarin, Unity, and React Native. While all our tools are built to work well together, App Center has been designed with modularity in mind, use the services that you need that best compliments your development pipeline. Our hope is that we can meet you wherever you are. When looking at App Centers offerings, you can generally group our services into two categories, your mobile DevOps pipeline and engagement with customers.

The DevOps tools are all about automation, continuously build your app on every commit, configure it for both the development and release cycles, run tests on a broad range of devices using test automation to help you find issues sooner and test your apps on the Devices your customers use. Finally, distribute your app, automatically publishing builds to your QA teams, beta testers, and the App Store. Once you have a build ready to share with customers, that is when engagement tools come into play.

Our diagnostics tools allow you to monitor your app health with real-time crash reports and error handling. Diagnose issues and fix problems quickly, catch and report exceptions that occur, then prioritize based on the impact. You can use app analytics and events to help prioritize feature development based on usage data about your core audience, devices used, location, session information, and more. Track events to see if new features are discovered, and how your users engaged with your app. Finally, you can send targeted messaging and experiences through Intelligent push notifications, across Android, iOS, and Windows to drive better user engagement all from the App Center portal.

Now that we have had a chance to overview what App Center can offer, let us take a moment to see it in action. So here we are. Ive been working on a new app that I want to share with my friends, I recently integrated App Center into the app to start tracking analytics and crash reports as they occur. To get started, all I had to do was add the App Center SDK using NuGet and initialize in my main activity with the App ID. Shortly after getting the setup, I actually had an app crash while running some tests.

I can go to the diagnostics tab and start looking at some of the crashes as theyve come in. Looking at this first one, I can click the latest crash and dig into its details to see an overview of what it was the devices affected and also the report where I can get more information. What I am most interested in, is both the stacktrace leading up to the crash. You can see in this case there wasnt a lot, but I know that it was the specific experiment clicked app event, and as well I can look at the events that took place as I process the app to lead up to it.

Now, I have an idea of where the error is, this experiment clicked event is pretty specific. So lets jump into Visual Studio and take a look. In this application written in Xamarin, I had recently added a new button that was to be a placeholder for some new functionality I had in mind to add in the future. I can jump to the associated event in the code and take a look here. Now, what I did is, wrote a block of code and then actually generated a crash to force me to remember to implement functionality in the future, because I knew I would forget and in this case it worked.

So I need to do something. Im not actually ready to implement new functionality yet but I dont want my app to crash. So Im actually just going to put a try-catch into my app instead. That way, things stay nice and smooth. But, I do want to be able to come back and revisit this in the future.

So what Im going to do, is use the App Center crashes SDK to still track this exception. That way, I get a report of the issue, but it doesnt force my app to crash in case someone else uses this. This is just a simple fix with a few lines of code but Im good to go. Im also feeling daring, so Im going to immediately commit all of these changes into GitHub straight from Visual Studio.

Added better crash handling, commit all these, save my update, and then save my changes. All right. So well let that get going, and as soon as all of the updates are made, were going to jump back into App Center.

Perfect. So whats nice about what I did, is I integrated App Center to automatically build my app every time I commit code to GitHub. All I had to do, was connect App Center to my GitHub repository and change some of the build settings and configuration.

Digging in, you can see that I have it set to be everytime I commit code. It builds this branch. Soon, Im going to probably want to share my app with users. Once Im ready to sign my build and actually distribute a real app, I can actually automatically integrate it, so that it will distribute a new build every time I commit code.

That way, my friends or QA testers or family that are checking out the app will get updates as frequently as I update my app. Finally, Im not ready to integrate with built, I can actually just release the app directly itself to my friends and collaborators. Final thing I want to mention is, I do have that functionality that I need to block out at some point. When Im ready to actually implement that functionality, I can write tests and add them to my existing automation tests and run them on a number of devices to make sure that, as I add new features to my app it doesnt break existing functionality that Ive already written. You can see here examples where Ive got this app that tests the sentiment of the user based on their text, and Ive got tests for if theyre happy or sad.

So once Ive got my new feature idea written, I can add extra tests here to be able to make sure that those things continue to still work. Thats it, a quick tour of how you can integrate App Center into your development pipeline. Now, we on the App Center team, know that there is more we can offer, we are just at the start of our journey. We are now working on new offerings that will enable deeper Azure integrated experiences to power your apps.

In development right now, we are working on new identity management solutions for easier user authentication, data storage, and real-time sync offerings to make data management easier and integration with PlayFab for real-time diagnostics behavior, and much more. We are excited to share more details about this with you in the months ahead. Now, it is one thing for me to tell you about the things App Center can offer another for you to experience it for yourself.

App Center is free to use, so there is no reason to not at least give it a try. Go to aka.msappcenter create an account and get started. If you have any questions or feedback, make sure to reach out to us on Twitter or you can submit your ideas for what you would like to see next at aka.msappcenterfeedback. We have a public repository for you to share your requests.

We also publish our roadmap and active work items, so you can know what is coming next and share your thoughts. Now, thats it for me. Its time for you to go and build some great apps.

We look forward to seeing what you can build with Visual Studio 2019 and App Center. . Visual Studio 2019 Launch: CICD for your mobile apps and games with Visual Studio App Center ampgtampgt Hi, my name is James White, a program manager on the Visual Studio App Center team, and I am excited to share with you today about what App Center has to offer developers alongside the launch of Visual Studio 2019. No matter what type of mobile application you build, whether they be games, internal line of business apps, or even public-facing commercial applications, we have something for you to help make your lives easier. When it comes to app development, expectations from users, your customers has never been higher. First, think about how apps have evolved over the last decade with their quality and design the best they have ever been. Additionally, in this fast information age, you need to keep up with a steady stream of updates and new content available to help ensure your users remain engaged and continue to use your apps.

Customers also interact with a wider variety of devices on a daily basis. They wake up to an alarm on their smartwatch, browse notifications and social media from their phone, and listen to music with their smart speakers while getting ready for the day, or before sitting down in front of their computer or tablet to start the actual workday. These factors bring their own challenges to you as the developer to meet in this new world. First, you need to leverage integrations into a variety of tools and ecosystems. You need to consider things like how users will authenticate, what tools will help process payments, or even how you will store and manage your data.

Along with managing integrations, developers are continually shipping updates and fixing issues. There is no longer a concept of an annual release cycle. You need the ability to rapidly go from new feature to implementation to shift release in less time than ever. In todays ratings driven world, one bad released can really slow the adoption of your app.

Failing to address the issue, can have a significant impact on your bottom line. With new devices continually available, we need to be able to support our apps where our customers are, whether that be a computer, phone, watch or whatever comes next. The broad other support, the more we can engage with users. That is where we at Microsoft come in. We have offerings to cover your needs on any app and any platform, whether its writing code and developing tools with Visual Studio, leveraging our cloud backend services on Azure, or automating your development pipeline with App Center.

There is a tool for the job to help you face the challenges you see on a daily basis. Now, with App Center, we truly strive to offer something for everyone, we support the platforms you need to support including Android, iOS, and UWP. Initially, we support many of the development frameworks you are already working in including Java, Swift, Xamarin, Unity, and React Native. While all our tools are built to work well together, App Center has been designed with modularity in mind, use the services that you need that best compliments your development pipeline.

Our hope is that we can meet you wherever you are. When looking at App Centers offerings, you can generally group our services into two categories, your mobile DevOps pipeline and engagement with customers. The DevOps tools are all about automation, continuously build your app on every commit, configure it for both the development and release cycles, run tests on a broad range of devices using test automation to help you find issues sooner and test your apps on the Devices your customers use.

Finally, distribute your app, automatically publishing builds to your QA teams, beta testers, and the App Store. Once you have a build ready to share with customers, that is when engagement tools come into play. Our diagnostics tools allow you to monitor your app health with real-time crash reports and error handling. Diagnose issues and fix problems quickly, catch and report exceptions that occur, then prioritize based on the impact. You can use app analytics and events to help prioritize feature development based on usage data about your core audience, devices used, location, session information, and more.

Track events to see if new features are discovered, and how your users engaged with your app. Finally, you can send targeted messaging and experiences through Intelligent push notifications, across Android, iOS, and Windows to drive better user engagement all from the App Center portal. Now that we have had a chance to overview what App Center can offer, let us take a moment to see it in action.

So here we are. Ive been working on a new app that I want to share with my friends, I recently integrated App Center into the app to start tracking analytics and crash reports as they occur. To get started, all I had to do was add the App Center SDK using NuGet and initialize in my main activity with the App ID. Shortly after getting the setup, I actually had an app crash while running some tests. I can go to the diagnostics tab and start looking at some of the crashes as theyve come in.

Looking at this first one, I can click the latest crash and dig into its details to see an overview of what it was the devices affected and also the report where I can get more information. What I am most interested in, is both the stacktrace leading up to the crash. You can see in this case there wasnt a lot, but I know that it was the specific experiment clicked app event, and as well I can look at the events that took place as I process the app to lead up to it. Now, I have an idea of where the error is, this experiment clicked event is pretty specific. So lets jump into Visual Studio and take a look.

In this application written in Xamarin, I had recently added a new button that was to be a placeholder for some new functionality I had in mind to add in the future. I can jump to the associated event in the code and take a look here. Now, what I did is, wrote a block of code and then actually generated a crash to force me to remember to implement functionality in the future, because I knew I would forget and in this case it worked. So I need to do something. Im not actually ready to implement new functionality yet but I dont want my app to crash.

So Im actually just going to put a try-catch into my app instead. That way, things stay nice and smooth. But, I do want to be able to come back and revisit this in the future.

So what Im going to do, is use the App Center crashes SDK to still track this exception. That way, I get a report of the issue, but it doesnt force my app to crash in case someone else uses this. This is just a simple fix with a few lines of code but Im good to go.

Im also feeling daring, so Im going to immediately commit all of these changes into GitHub straight from Visual Studio. Added better crash handling, commit all these, save my update, and then save my changes. All right.

So well let that get going, and as soon as all of the updates are made, were going to jump back into App Center. Perfect. So whats nice about what I did, is I integrated App Center to automatically build my app every time I commit code to GitHub. All I had to do, was connect App Center to my GitHub repository and change some of the build settings and configuration. Digging in, you can see that I have it set to be everytime I commit code.

It builds this branch. Soon, Im going to probably want to share my app with users. Once Im ready to sign my build and actually distribute a real app, I can actually automatically integrate it, so that it will distribute a new build every time I commit code.

That way, my friends or QA testers or family that are checking out the app will get updates as frequently as I update my app. Finally, Im not ready to integrate with built, I can actually just release the app directly itself to my friends and collaborators. Final thing I want to mention is, I do have that functionality that I need to block out at some point. When Im ready to actually implement that functionality, I can write tests and add them to my existing automation tests and run them on a number of devices to make sure that, as I add new features to my app it doesnt break existing functionality that Ive already written. You can see here examples where Ive got this app that tests the sentiment of the user based on their text, and Ive got tests for if theyre happy or sad.

So once Ive got my new feature idea written, I can add extra tests here to be able to make sure that those things continue to still work. Thats it, a quick tour of how you can integrate App Center into your development pipeline. Now, we on the App Center team, know that there is more we can offer, we are just at the start of our journey. We are now working on new offerings that will enable deeper Azure integrated experiences to power your apps. In development right now, we are working on new identity management solutions for easier user authentication, data storage, and real-time sync offerings to make data management easier and integration with PlayFab for real-time diagnostics behavior, and much more.

We are excited to share more details about this with you in the months ahead. Now, it is one thing for me to tell you about the things App Center can offer another for you to experience it for yourself. App Center is free to use, so there is no reason to not at least give it a try. Go to aka.msappcenter create an account and get started.

If you have any questions or feedback, make sure to reach out to us on Twitter or you can submit your ideas for what you would like to see next at aka.msappcenterfeedback. We have a public repository for you to share your requests. We also publish our roadmap and active work items, so you can know what is coming next and share your thoughts. Now, thats it for me.

Its time for you to go and build some great apps. We look forward to seeing what you can build with Visual Studio 2019 and App Center. .

Be First to Comment

    Leave a Reply

    Your email address will not be published. Required fields are marked *