Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.
Starting on November 1, 2022, apps that don’t target an API level within two years of the latest major Android release version will not be available on Google Play to new users with devices running Android OS versions newer than your app’s target API level. For example, as of this November, existing apps need to target at least API level 30, Android 11, to be available to new users on Android 12 and 13 devices.
Users who have previously installed your app from Google Play will continue to be able to discover, re-install, and use your app, even if they move to a new Android device. App updates still also need to target an API level within a year of the latest major Android release version. Expanding our target level API requirements will protect users from installing older apps that may not have the privacy and security protections in place that newer Android releases offer. We have a blog post and video with more detail on the new requirement and how to migrate your app.
Attestation for device integrity has been mandated since Android 8.0, and is used in a variety of services such as SafetyNet. Android 12 added the option of Remote Key Provisioning for device manufacturers, and it will be mandated in Android 13. If you’re leveraging attestation in your app, watch out for a longer certificate chain structure, a new root of trust, the deprecation of RSA attestation, and short-lived certificates/attestation keys. The blog post has more detail on how this all works.
The Architecture MAD Skills series has three new episodes covering our best practices for architecting your app.
In the first of these episodes, Manuel covers the different types of UI events along with best practices for handling them and more.
In the second of these episodes, Don covers the Domain Layer — an optional layer which sits between the UI and Data layers — explaining how it can simplify your app architecture, making it easier to understand and test.
Then, Emily Kager from Uber shared a tip around organizing modules in large projects, because there’s nothing more exciting than well organized code.
We’ve also created a new App Excellence: Android Architecture video to help introduce our latest architecture guidelines.
For ongoing content, be sure to check out the MAD Skills playlist on YouTube, the articles on Medium, or this handy landing page that points to all of it.
We’ve continued our series on Integrating with Android TV and Google TV with two new episodes.
In the first episode, Ian covers topics around accessibility such as making your app ready for Talkback, best practices for contrast and text size, and how to deal with complex scenarios such as custom views.
In the second episode Thomas discusses how you can monetize your Android TV app using Google Play Billing. It gives an overview of the Billing commerce stack, how to create in-app products and subscriptions in the Play console, how to use the billing client to launch the purchase flow, and more.
Android for cars has introduced media recommendations powered by Google Assistant, a progress bar for long form content, and per-item content styles to allow browsable/playable items to be individually assigned to a list or grid. Head on over to the developer documentation to learn about all of these changes.
The Google Play Academy released three new courses. The first two, Go Global: Japan, and Go Global: Southeast Asia cover how to make your app more appealing, how to market and grow your business, and how to monetize in those regions.
The third course, Design for All Users, covers how to design user friendly apps, create a compelling first time user experience, and improve the quality of your app, all while improving accessibility.
We covered how to help you monitor your game’s stability using Android vitals on Google Play Console, how to best optimize your game to improve your customer engagement during the month of Ramadan, and announced that the Indie Games Accelerator & Indie Games Festival 2022 from Google Play is coming soon, offering a way to get notified when submissions open.
Manuel wrote about how and why we’ve Migrated our Architecture Blueprints to Jetpack Compose, and some issues we faced in doing so.
Pietro wrote about how to enable split screen use cases using the Android 7.0 FLAG_ACTIVITY_LAUNCH_ADJACENT flag to open your Activity in a new adjacent window on Android 12L. (and some supported Android 11+ devices)
Let’s take a look at what’s been up with AndroidX releases since the last episode of Now in Android.
AppCompat AppCompat-Resources Version 1.5.0-alpha01 contains a bunch of bugfixes, as well as updated nullability to match Android 13 DP2 and a few small compatibility features involving TextView, AppCompatDialog, SearchView, and SwitchCompat.
Navigation Version 2.4.2 has been released with all the new bugfixes backported from the 2.5 alpha releases.
There has been one episode of Android Developers Backstage posted since the last Now in Android.
In this episode Tor, Chet, and Romain chat with Derek and Brian from the Skia team about Skia (the graphics layer that backs the Android Canvas APIs), pixel shaders, and the new “AGSL” API that lets you provide pixel shaders for advanced graphics effects, which was recently added as part of the Android T preview release. If you’re interested in graphics technology, this is the episode for you.
That’s it for this time with Expanding the Play Target SDK Requirements, Android Attestation and Remote Provisioning, more MAD Skills: Architecture, TV and large screens, Cars, Google Play Academy, Graphics, Game Development, and AndroidX releases. Come back here soon for the next update from the Android developer universe.