Android 12 can let you play games before they’re done downloading
Today, the games team at Google kicked off the annual Google for Games Developer Summit. At the Summit, Google unveiled new tools and solutions to make game development easier on Android and Chrome OS. That’s not all, though. The company also unveiled a new feature aimed at improving the experience of delivering games to users. This feature, called “play as you download”, is available to devices running Android 12 or later, and it effectively takes the wait out of downloading larger games.
Play as you download on Android 12
“Play as you download” is a new service offered by Google Play that “will allow users to get into gameplay in seconds while game assets are downloaded in the background.” There’s a simple reason Google developed this new “play as you download feature.” “Users want to start playing right away, but as game quality keeps improving, their size increases, leading to long, dull downloads,” explains Google. The concept itself isn’t new — Sony’s PlayStation and Microsoft’s Xbox consoles have offered a similar feature for years — but there hasn’t been much of a need for it on Android until recently since most mobile games are much smaller in size than console or PC games.
Google says that “play as you download” is available to all developers who publish apps and games through the Play Store and that once it’s implemented, games are “ready to open at least 2 times faster” than before. The improvement can be quite dramatic in some instances, with Google stating that 400MB-sized games can take as little as 10 seconds to load instead of several minutes.
Only devices running the latest version of Android can take advantage of this new feature, and the reason is that the feature is “built into the core of Android 12.” Google confirmed to XDA that, under-the-hood, “play as you download” makes use of Android’s Incremental File System, a “special-purpose Linux virtual file system that allows execution of a program while its binary and resource files are still being lazily downloaded over the network.”
Although “play as you download” is open to all app developers, it requires the developer to build their app with the Android App Bundle format. That’s because the feature makes use of Play Asset Delivery, which requires the app bundle format. New apps submitted to Google Play after August 1st, 2021 are required to use the Android App Bundle format, but some developers aren’t comfortable with the requirement. If the App Bundle requirement doesn’t bother you, then “play as you download” will be a nice feature to get users hooked into your game’s gameplay loop even sooner.
Developers can sign up for the “play as you download” beta program by filling out this form. For more details on the new feature, watch the “delivery space updates” keynote from the 2021 Google for Games Developer Summit.
Launcher support for Incremental
Google is also encouraging launcher developers add support for Incremental, the internal name for “play as you download”, by showing a promise icon and download progress indicator on the home screen while the app is being incrementally downloaded. If the user taps on the icon but it’s not ready to launch yet, then the launcher should navigate the user to the app’s landing page on the Google Play Store. Once the partially downloaded app is ready to launch, the launcher should replace the promise icon with the regular app icon but should show the download progress indicator reflecting the download state of the app. Clicking on the app icon should now launch the app, and when the app download has completed, the download progress indicator should be removed.
To implement this feature, launcher developers should make use of a couple of APIs: PackageInstaller.SessionCallback#onCreated and LauncherApps.Callback#onPackageLoadingProgressChanged or LauncherActivityInfo.getLoadingProgress().
— Mishaal Rahman (@MishaalRahman) July 12, 2021
For an example of how this should look, check out our previous article on pending app installs, where we spotted Google publicly A/B testing this feature for several users of the Pixel Launcher.