Posted by Leticia Lago, P&E; Developer Marketing
At Google Play we’re committed to helping developers of all sizes reach their full potential, and go further, faster. Today we’re opening submissions for our two annual programs supporting the indie game community, as they bring some of the most innovative titles to players worldwide.
If you are an indie games developer, check out our Accelerator and Festival programs, where you have the chance to boost your game’s visibility, get training, and tap into our community of gaming experts.
These programs are designed to help you grow no matter what stage you are in:
After being selected as a Festival finalist and participating in the Accelerator in 2021, Co-founder of Jimjum Studios, Nimrod Kimhi said "being in the Accelerator probably saved us two years worth of mistakes." Read below to learn more about the programs.
Submissions are open until July 1st.
If you’re an indie developer who is early in your journey - either close to launching a new game or have recently launched a title - this high-impact program is designed for you.
With the help of our network of gaming experts, the Indie Games Accelerator provides education and mentorship to help you build, launch and grow successfully.
Selected game studios will be invited to take part in the 10-week acceleration program starting in September 2022. This is a highly-tailored program for small game developers from across 70+ eligible countries. It includes a series of online masterclasses, talks and gaming workshops, hosted by some of the best in the industry.
You’ll also get the chance to meet and connect with other passionate developers from around the world who are looking to take their games to the next level.
Apply to the Accelerator by July 1st.
If you have recently launched a new, high quality game on Google Play, enter your game to be showcased at the Indie Games Festival and win promotions.Once again, we are hosting three international competitions for indie game developers from selected European countries, Japan or South Korea.
The Festival jury consists of both gaming experts and Googlers, who are charged with selecting creative indie games that are ready for the spotlight.
Top indie games will be featured during the online Festival finals, where you can get your game discovered by game industry experts and players worldwide. The winners will also get featured on Google Play, prizes and additional promotions such as campaigns worth 100,000 EUR.
Apply to the Festivals in Europe, Japan or South Korea by July 1st.
For more updates about all of our programs, resources and tools for indie game developers, follow us on Twitter @GooglePlayBiz and Google Play business community on LinkedIn.
How useful did you find this blog post?
Posted by Greg Hartrell, Product Director, Games on Play/Android
With over three billion players showing strong engagement worldwide, the games market continues to remain resilient and grow beyond expectations. As we look ahead this year, the influx of new and returning players creates a great opportunity for developers to scale their games businesses.
The Google for Games Developer Summit returns virtually on March 15, 2022 at 9AM Pacific. From mobile to cloud, learn about our new solutions for game developers that make it easier to build high-quality games and reach audiences around the world.
Join us for the keynote at 9AM Pacific followed by over 20 developer sessions on-demand. We’ll share deep-dives and updates on the Android Game Development Kit, Google Play Games beta on PC, Play Asset Delivery, Play Console, and more. The summit is open for all. Check out the full agenda today at g.co/gamedevsummit.
Posted by Posted by Purnima Kochikar, Director, Business Development, Games & Applications
Today, we announced Google Play’s annual Best of 2020 awards, highlighting the year’s best apps, games and digital content. None of this would be possible without the developers that created the amazing content that made a profound impact on us in 2020, or should we say a Genshin Impact … From miHoYo Limited to Loona Inc, the makers behind your favorite apps and games were unafraid to experiment, challenge the status quo, and design incredible experiences we never thought possible.
Check out the full rundown of the developers behind the best apps and games of 2020 in the U.S. on Google Play:
Best App of 2020
Best Personal Growth Apps
Best Hidden Gem Apps
Best Everyday Essential Apps
Best Apps for Good
Best Apps for Fun
Best Game of 2020
Best Indie Games
Best Casual Games
Best Innovative Games
Best Competitive Games
★ ★ ★ ★ ★
Posted by Lily Sheringham, Global Marketing, Platforms & Ecosystems
We are launching the second series of the Apps, Games, & Insights podcast.
Over the summer, we teamed up with a new group of leading industry insiders and experts to bring you 8 new podcast episodes over the next couple of months. We are bringing you their exceptional business stories, experiences and discussion on some of the latest big questions in the apps and games industry.
We are joined again by your hosts—Tamzin Taylor, who heads up Apps & Games Business Development for Google Play in Western Europe, and Dirk Primbs, who leads the Ecosystem Developer Relations team in Europe— and you can find out who they have been cajoling and corralling in the new series, below.
In the first series, the guests covered topics ranging from responsible growth and building for the long term, through advice from mergers and acquisitions and venture capital experts, to hot topics such as privacy and accessibility.
Apps, Games, & Insights podcast series 2 brings you a similarly diverse range of insights, stories, and learnings, and without further ado, get a sneak peek as to what we have lined up...
We kickoff with Elliott Rayner, Head Of Product Marketing, and John Quintana, Head of Guided Learning Experiences, from Babbel the online language learning company. Here in episode 9 we talk about how the new normal is disrupting the delivery of all types of education. Elliott and John discuss how Babbel is transforming and adapting and has been "thinking big" about the future of education: ultimately can apps take the place of traditional classroom education?
Most of us are very aware how critical environmental change is, but how do we raise awareness to fight climate change through our businesses? In episode 10 we are joined by Jennifer Estaris, Games Director at SYBO Games and Deborah Mensah-Bonsu, Founder of Games for Good and formerly at Space Ape Games, to learn how others are changing the game. In the recent Green Game Jam, 11 game studios came together to find innovative and engaging ways to educate and empower players about climate change through games. Jennifer and Deborah discuss how they ensured that the ideas were more than just another collection of tips for better recycling, and then pulled together a jam to bring great minds together and actualise change.
We also explore how to be successful with 4x strategy games—turn-based and real-time strategy games where you build an empire—in episode 11. We’re joined by David Eckleberry, General Manager and Vice President at Scopely, and Howard Chen, Google Play Growth Consultant. We hear how Star Trek Fleet Command has successfully built it’s loyal player base and the stories that bring to life the learnings about player affinity, KPI growth, comparative analysis with other game genres, and more.
With literally thousands of languages to choose from, language learning apps are in a unique position to reflect humanity’s diversity. The team at Drops have taken this opportunity by incorporating several indigenous languages into their app portfolio. So, while supporting the usual suspects of popular languages, users of Drops can also learn Hawaiian, Maori (from New Zealand), and Innu (from Japan) among others. In episode 12, we talk with Drops CEO and Co-Founder, Daniel Farkas and Chief Customer Officer, Drew Banks about how they actively foster diversity and inclusion in their product and company.
Have you ever wondered what goes behind the scenes to help you order your favourite foods from delivery apps? Delivering a quality app is essential to the success of your business, in both acquiring and retaining users. In episode 13, we’re joined by Maria Neumayer, Staff Software Engineer, at food delivery service Deliveroo and Shobhit Chugh, Product Manager, Firebase to talk about the practical steps you can take to design quality into an app or game. Discover and rectify quality problems in testing and production and hear Maria’s insights into how Deliveroo has adapted to the new normal.
Mobile gaming offers developers of PC and console games a significant opportunity. By going mobile, game developers can expand their player base and drive retention by providing a platform for players to stay engaged while they’re on the move. Jen Donahoe, Marketing and Growth lead for TeamFight Tactics at Riot Games joins us in episode 14 to discuss the challenges and opportunities they had in taking their games mobile.
What makes retention so critical to the success of a business over other measures, and how do you optimize this strategy? We speak to Marcus Gners, Chief Strategy Officer and Co-founder at health and fitness app developer Lifesum to hear how about the models they use and how they approach habitual usage. In episode 15, alongside Marcus, we are joined by best-selling author of “Hooked” and “Indistractable,” Nir Eyal, to explore the behavior apps should foster to drive retention, and how to measure this effectively.
So as to not give the whole game away, we are keeping the details of our final episode under wraps, so keep an eye out for more details shortly.
The new episodes of the Apps, Games, & Insights podcast are sure to spark the interest of business and app or gaming enthusiasts, and developers, who want to get the inside scoop from industry experts on business strategies and their success stories, and how to create successful apps and games businesses in these rapidly changing times. We look forward to you joining us on this journey.
To find out more about what’s coming, check out our Apps, Games, & Insights podcast homepage and find links to all the latest episodes.
Subscribe and listen to our first episode here, or on your favorite podcast platform including Google Podcasts, Spotify, Apple, Libsyn, Pocket Casts and Overcast, Deezer, and iHeartRadio.
Keep an eye out on @GooglePlayDev and @AndroidDev on Twitter where we will be announcing the launch of the new episodes each week.
Posted by Yafit Becher, Product Manager & Dan Galpin, Developer Advocate
Play Asset Delivery downloads the best supported texture for the device
Google Play Asset Delivery allows you to publish an Android App Bundle to Google Play containing all the resources your game needs. It offers multiple delivery modes, auto-updates, compression, and delta patching, all hosted at no cost to you.
As of today, you can use Google Play Asset Delivery to include textures in multiple texture compression formats in your Android App Bundle and Google Play will automatically deliver the assets with the best supported texture compression format for each device. With Texture Compression Format Targeting, you can start using ASTC for devices that support it while falling back to ETC2/ETC1 to devices that don’t. The Adaptive Scalable Texture Compression (ASTC) format offers advantages, such as improved rendering performance, faster load times, a smaller in-memory footprint, better battery life, and improved visual quality. You can even dramatically reduce your download size and on-device footprint by optimizing the tradeoff between size and quality.
Higher bandwidth version of much of this information
Android App Bundle will be the required publishing format for all new games and apps as of August 2021, which means that Google Play Asset Delivery will be required for new games that want Google Play to host more than 150MB of assets. Texture format targeting provides value even for smaller games due to the advantages of newer texture compression formats.
Texture compression is a form of lossy image compression that allows the GPU to render directly from the compressed texture using specialized silicon blocks, reducing the texture memory and memory bandwidth required to render the texture. As GPUs have gotten more advanced, more sophisticated texture compression formats have been developed, but not all GPUs can take advantage of them.
ASTC was released in 2012 to give developers more flexibility in trading compression size vs image quality. It compresses using fixed 128-bit block sizes, but allows for variable block footprints from 4x4 (8 bits per texel) to 12x12 (.89 bits per texel).
Googleplex from Google Earth at 12x12 (.89 BPT), 6x5 (4.27 BPT), 4x4 (8 BPT)
This allows almost any type of texture to be used in compressed form, and allows for textures to occupy much less space in RAM — up to 36x less space compared to uncompressed 2D textures depending on quality. Smaller textures also take less time to load, making games start faster.
Since the GPU needs to do fewer reads from texture memory in order to render the texture, the memory bandwidth required to render the scene is reduced, often substantially when texture caches are taken into account.
The top compression formats in Android are ETC1, ETC2, and ASTC.
Top texture compression formats with device penetration as of September 2020
ETC1 is supported on practically all devices. It has no transparency support; games can use a second texture for the alpha component. It has quality issues with sharp transitions such as edges and text.
ETC2 is supported by all devices that support GLES3. It supports multiple transparency modes and improves quality compared to ETC1.
ASTC is a more recent format that's more flexible; it supports many different kinds of textures, allowing for just about any texture in your game to benefit from compression. In addition, it supports various block sizes with different associated compression ratios. Using this format is a good way to optimize the size, image quality, and performance of your game.
When experimenting with ASTC on Asphalt Xtreme Gameloft found that they could reduce the size of their game by up to 30%
Once you've implemented Google Play Asset Delivery in your game, adding texture format targeting is an incremental step. Inside your asset packs, make sure you have a directory that holds just your textures, such as [assetpackname]/textures. This directory will be used to hold default textures (probably in ETC1 or ETC2 format).
[assetpackname]/textures
Then, create additional texture directories with a suffix representing the additional formats you wish to support.
[assetpackname]/textures#tcf_etc2 [assetpackname]/textures#tcf_astc
Finally, update your app build.gradle file to enable texture splits in asset packs:
build.gradle
// In the app build.gradle file: android { ... bundle { texture { enableSplit true } } }
Google Play strips off the texture suffixes so your game reads its assets from the default directory, regardless of what textures are delivered to the device.
If you're using Unity, our Play Asset Delivery plugin for Unity is ready to create app bundles with texture-targeted packs.
We're committed to helping you serve your entire game through Play with customized dynamic delivery and features such as texture compression format targeting. Documentation at d.android.com will walk you through the integration process depending on the game engine you use, and we also have codelabs ready for both C/C++ and Unity games. We have more information on all of our game related developer resources at d.android.com/games and stay up to date with Google Play Asset Delivery and other game developer tools by signing up for the games quarterly newsletter.
Posted by Dan Galpin, Developer Advocate
This blog post is part of a weekly series for #11WeeksOfAndroid. For each of the #11WeeksOfAndroid, we’re diving into key areas so you don’t miss anything. This week, we spotlighted games, media, and 5G; here’s a look at what you should know.
We covered how to take advantage of Android 11's new media controls by making sure your app is using MediaStyle with a valid MediaSession token. We showed how to support Media resumption by making your app discoverable with a MediaBrowserServiceCompat, using the EXTRA_RECENT hint to help with resuming content, and handling the onPlay and onGetRoot callbacks. Finally we showed you how to leverage the MediaRouter jetpack library to support seamless media transfer between devices. Check out the updated version of the UAMP sample which contains a reference implementation for media controls and playback resumption.
MediaStyle
MediaSession
MediaBrowserServiceCompat
EXTRA_RECENT
onPlay
onGetRoot
We covered some of the primary ways apps can benefit from 5g, including:
Android 11 adds new APIs and updates existing APIs to ensure you have all the tools you need to leverage the capabilities of 5G, such as an enhanced bandwidth estimation API, 5G detection capabilities, and a new meteredness flag from cellular carriers. The Android emulator now enables you to develop and test these APIs without needing a 5G device or network connection. All of this and more is available from our dedicated 5G page.
We presented a special "11 Weeks" episode of The Android Game Developer Show providing an update on the tools, services, and technologies we're bringing to help you build, optimize, and distribute great games.
Check out d.android.com/games to learn about everything we've covered this week and more, and stay up to date by signing up for the games quarterly newsletter.
In Android Studio 4.1, we enhanced the System Trace view of the CPU Profiler and added the Native Memory Profiler, and both can now be launched standalone from Android Studio. The System Trace and Native Memory blog posts have more details on how to use them with your game or app.
You can sign up for developer previews of the Android Game Development Extension, and the Android GPU Inspector. The Android Game Development Extension helps with building multi-platform C/C++ games, while the GPU Inspector is used to profile and debug graphics. Stay tuned for the open beta of the Android GPU Inspector.
We took a deep dive into the Android Performance Tuner, explaining annotations, quality levels, and fidelity parameters along with some best practices on how to use them. Once you've implemented that, we also covered how to use the new insights and analysis you'll get within Android Vitals.
We showed how Google Play Asset Delivery brings the benefits of app bundles to games with large asset sizes, flexible delivery modes, auto-updates, compression, and delta patching. Texture compression format targeting is coming very soon letting you tap into modern texture compression such as ASTC (now supported on over 50% of devices) allowing you to considerably cut your game size and in-memory footprint.
We published new codelabs to help you integrate Android Performance Tuner and Google Play Asset Delivery into your Unity or native C/C++ game.
We explained how we can help protect your game, players, and business by fighting monetization and distribution abuse.
We launched the open beta of Play Games Services - Friends to help you bootstrap and enhance your in-game friend networks while having your games surfaced in new clusters in the Play Games app.
We demonstrated the new release management experience in the Google Play Console beta and showed how it can help your testing and publishing workflow.
Day one auto-installs is a new Google Play feature that allows users to request the automatic installation of your game during pre-registration. Early experiments show a +20% increase in day 1 installs when using this feature. The new pre-registration menu in the beta Google Play Console makes it easier than ever to access this feature.
We showed how to optimize your store listing page to take advantage of the greatly improved games visual experience within Google Play, showcasing rich game graphics and engaging videos.
The new in-app review API lets you choose when to prompt users to write reviews from within your game, without heading back to the app details page. This API supports both public and private reviews for when your app is in beta.
If you’re looking for an easy way to pick up the highlights of this week, check out the Games, media, and 5G pathway. A pathway is an ordered tutorial that allows users to complete a pre-defined module that culminates in a quiz. It includes videos and blog posts. A virtual badge is awarded to each user who passes the quiz. Test your knowledge of key takeaways about Android game development, media, and 5G to earn a limited edition badge.
Thank you for tuning in and learning about the latest in Android game, media, and 5G development.
Seamless media transfer and media resumption
MediaRouter API (UAMP Sample)
5G
Bandwidth estimation API
5G Detection (Android Emulator)
Meteredness flag
Features found in Android Studio 4.1 (Beta Channel)
System Trace in Android Studio CPU Profiler
Android Studio Native Memory Profiler
Pre-release standalone tools
Android Game Development Extension
Android GPU Inspector.
Features in the Android Game SDK
Android Frame Pacing Library
Android Performance Tuner (C/C++ Codelab) (Unity Codelab)
Google Play features
Play Asset Delivery (C/C++ Codelab) (Unity Codelab)
In App Review API
App Licensing
SafetyNet Attestation
Pre-registration
Google Play Games Services
Play Games Services Friends Beta
You can find the entire playlist of #11WeeksOfAndroid video content here, and learn more about each week here. We’ll continue to spotlight new areas each week, so keep an eye out and follow us on Twitter and YouTube. Thanks so much for letting us be a part of this experience with you!
Posted by Greg Hartrell, Head of Product Management, Games on Android & Google Play
Welcome to our latest Android games update and the start of our #11WeeksOfAndroid week focused on games, media and 5G. With all of your interest and feedback in our developer previews, tools and services, we have lots to share in our ongoing efforts to help you better understand your game’s performance, expand your reach to more devices and new audiences, and support your go-to-market with Google Play.
Get the latest updates below and follow us at @AndroidDev for additional games resources and more.
Check out d.android.com/games to learn about these tools and more, and stay up to date by signing up for the games quarterly newsletter.
This blogpost is a collaboration between Google and Excelliance Tech. Authored by Zhuo Chen with support from Zhihai Wang, Gao Huang from Excelliance Tech.
Excelliance Tech improved the stability and compatibility of their LeBian SDK by moving away from non-SDK APIs, toward stable, official APIs. Their collaboration with the Android team during the process also led to a new public API for resource loading that all developers can use - the ResourcesLoader API in Android 11.
Games are becoming increasingly complex, and a loading progress bar is not only a countdown to a new adventure, but also a bridge which connects players and developers.
Players want the game to load right away, so "loading" has its own priorities: resources that will be used in the first few minutes need to be packed into the APK, while the rest of the content can be downloaded in the background after the game starts.
Developers are always creating new content for their games, so "change" is the only constant: different campaigns bring different launch screens and themes, keeping the game experience fresh for players.
Excelliance Tech’s LeBian (乐变) game assets streaming service helps game developers meet players’ needs by loading fresh resources dynamically while the game is loading or being played.
Meteor, Butterfly And a Sword (流星群侠传) by NetEase Games, Duoduo Auto Chess (多多自走棋) by Dragonest Game, Langrisser (梦幻模拟战) by ZlongGames, Junior Three Kingdom 2 (少年三国志 2) by Yoozoo Games - these games are created by different developers and have different look and feel, but one thing they have in common: they all use LeBian game streaming service to load resources.
The resource loading technology is so useful that Excelliance Tech is even using it in the LeBian SDK itself, bringing a better experience for developers. Dynamic resource loading makes the SDK much easier to use. By dynamically updating its internal resources when needed, the library doesn’t require developers to update the SDK for new resources.
Before Android 11 introduced the ResourcesLoader API, Excelliance Tech had to build their dynamic resource loading capability the hard way, using non-SDK interfaces.
When Excelliance was first building their product, Android did not offer public APIs for the dynamic resource loading use-case. The team did what they could, but ended up using non-SDK interfaces to add the external resources. While this met the technical need initially, the implementation was fragile - it depended on non-SDK interfaces, which don’t have the same compatibility guarantees as official SDK APIs and can change without notice.
As a result, Excelliance found that compatibility issues would surface unexpectedly as new versions of Android were released. These required additional testing and development to assure the stability of the product. Over many iterations, it took the Excelliance team six engineer-months and a lot of code to stabilize their solution, while knowing that it might break again in the next Android release. With Android tightening restrictions on non-SDK interfaces to achieve better stability and app compatibility, relying on those non-SDK interfaces became no longer an option.
As the Android team increased its focus on moving apps to public APIs, Excelliance saw an opportunity to migrate to a stronger foundation. They reached out to the Android team to give their feedback and highlighted their use case and need for public SDK APIs.
Over time, their collaboration led to the development of the ResourcesLoader public API that’s available for the first time in Android 11. Excelliance Tech has already moved to the new ResourcesLoader API and they’ve seen better productivity and product quality as a result. Excelliance believes the ResourcesLoader API provides advantages including the following:
String sdkroot = getApplicationInfo().dataDir + "/lebian"; ResourcesLoader rl = new ResourcesLoader(); rl.addProvider(ResourcesProvider.loadFromDirectory(sdkroot, null)); Resources res = getResources(); res.addLoaders(rl); final AssetManager assetManager = res.getAssets();
After moving to the new ResourcesLoader API, the essential code has just a few lines (down from hundreds of lines of code across a number of source files).
Excelliance Tech did a comparison test, loading 16,028 files (uncompressed 1.47GB, compressed 1.36GB) in 4 ways:
Resources are compressed in option 1, 2 and 3, and the average loading times are around 19 seconds. Option 4 loads uncompressed resources directly from a directory using ResourcesLoader, the average loading time is about 3 seconds - a 6x performance improvement!
Summarizing the overall impact of ResourcesLoader, Huang Gao, CEO & Product Lead at Excelliance Tech, said “The new ResourcesLoader API dramatically reduces development and maintenance costs and allows us to focus more on product and business innovation."
The Excelliance Tech team.
"On the Android platform, we've created some valuable products and services, which makes us want to invest more to create innovative products", Excelliance Tech stated, "We hope to have more opportunities to participate in the building of the Android ecosystem and contribute our efforts to make a better Android both for consumers and developers."
Excelliance Tech made an investment for the long-term compatibility of the LeBian SDK. Moving to the ResourcesLoader API has already yielded stability and performance benefits, reduced the complexity of their code, and reduced risks of future compatibility issues as Android rolls out new versions of the platform. The ResourcesLoader API is part of Android 11’s public APIs, benefitting the entire Android developer community.
In March of this year, at the Google for Games Developer Summit, we shared several new tools and services Google has been working on to help game developers. They make it easier to see how your Android games are performing, expand your reach to more devices and new audiences, and support your go-to-market with Google Play. From the level of interest shown by game developers and the great feedback provided in our developer previews, we’re excited to share the progress we’ve made on these tools, and more.
Discover more about these updates below, and in addition to these, we’ll be back August 17-21, 2020 with even more information during a full week dedicated to Android gaming products, as part of #11WeeksOfAndroid.
To provide greater insights into your game’s performance and help scale your games to reach a growing player-base across the Android ecosystem, we’ve seen growing success with the adoption of Play’s dynamic delivery of game assets as well as our Integrity Protection Suite. Read on for additional launches and updates.
We’ve completely redesigned the Google Play Console making it easier for you to improve your app’s quality, engage your audience, earn revenue, and more. We’re also continuing to improve the Google Play Store and other services allowing you to better market your game to expanded audiences.
We hope you start using some of these new tools and features, and continue to share your feedback with our development teams. You can learn about all of the offerings we have to help game developers at d.android.com/games.
Android vitals is the destination for managing your app's technical quality. Over 80,000 developers take advantage of its performance and stability metrics every month.
As part of our work to help you deliver better game experiences to more Android users, we're introducing Android Performance Tuner - a new library in the Android Game SDK that unlocks game performance insights in Android Vitals. This gives you a scalable way to measure and optimize your frame rate and graphical fidelity across the whole Android device ecosystem.
Unity Boat Attack Sample with Different Optimizations
Once you have integrated Android Performance Tuner into your game and published it on Play, you'll be able to see how it performs across real users and devices with the following new features in Android vitals.
Frame Rate Performance by Quality Level and Device Model
We chart the frame time distribution across your users’ devices, broken down by quality levels that you have implemented in your game, so you can see how specific device models or hardware specifications are performing on each quality level.
We also analyze your performance data to help determine the likely cause of issues, so you can differentiate between problems associated with specific hardware and problems with specific screens or levels in your game. You annotate your code to give contextual information about what your game is doing at that point. This gives you full control over the granularity of the insights.
Top Device Model/Annotation Issues
We call out the top device model issue as well as the top game-specific issue to give you clear guidance on what's most important.
Underperforming Device Models by GPU
You can drill down to see a breakdown of underperforming device models by different specs, such as GPU and SoC. This allows you to decide whether you can work at the GPU or SoC-level to optimize performance. Alternatively, you may decide to change quality levels, rather than work at the device model level.
Device Model Impact, User Impact, GPU Time
You can also see the full list of device models, along with the number of affected user sessions and frame time, to help you prioritize device-specific changes. As well as total frame time, we also show you GPU time to help determine whether the device is GPU bound or has another performance problem, such as being CPU or I/O bound. All data in the device model table can be exported for further analysis and action planning.
Frame Time Performance with Opportunities
The devices on the far left are more than meeting the frame times for smooth performance. You can drill down to see stats by device model and specification to see if there is an opportunity to improve the graphical fidelity across a wide range of devices.
The Android Performance Tuner is intended to work across over 99% of the Android device ecosystem. You can get these insights on any Android devices around the world, from Android 4.1 (API 16) onwards.
Whether you have your own game engine or are using a third-party game engine, we're doing our best to make integration easy. The Android Performance Tuner relies on tick functions being called each frame. Within the library, this tick information is aggregated into histograms, which are periodically uploaded through an HTTP endpoint, so your game will need to have the internet access permission.
With our plugin for the Unity platform, you can collect frame ticks from Unity 2017.4 onwards. Unity 2019.3.14+ enables the collection of higher-fidelity performance information.
If you're doing a native source code level engine integration, we strongly recommend integrating the Frame Pacing API from the Android Game SDK to get the highest quality information. The Frame Pacing API will give you smoother frame rates and improved support for high-refresh rate displays, so it's worth integrating on its own.
Unreal 4.25+ integrates the Frame Pacing API. You enable it by adding a.UseSwappyForFramePacing=1 to the Android_Default profile to activate it for all Android devices.
a.UseSwappyForFramePacing=1
Within Unreal or your native engine integration, you pass in the Swappy_injectTracer function from the Frame Pacing API at initialization to enable automatic frame time recording.
Swappy_injectTracer
void InitTf(JNIEnv* env, jobject activity) { SwappyGL_init(env, activity); swappy_enabled = SwappyGL_isEnabled(); TFSettings settings {}; if (swappy_enabled) { settings.swappy_tracer_fn = &SwappyGL;_injectTracer; } … }
Enabling Frame Time Recording in the Android Performance Tuner for your Engine
In Unity, we recommend activating Optimized Frame Pacing within the Unity settings (Unity 2019.3+ only), but Frame Pacing isn't required in Unity to use the Android Performance Tuner.
Activating Optimized Frame Pacing in Unity 2019.3
Next, you want to define annotations to give contextual information about what your game is doing when a tick is recorded, such as:
If you're using Unity with the Android Performance Tuner plugin, you'll automatically get a scene annotation that maps to the current scene being played. The LoadingState annotation can be easily hooked up to your scripts, and you can define additional annotations within the plugin editor UI.
Annotation Parameters within the Unity Editor from the Android Performance Tuner Plugin
To pass annotation parameters from within your own game engine, you define a protocol buffer message that contains all of these annotations, such as loading state, level or scene, etc.
You also define fidelity parameters and associate them with quality levels that your game reports back. These can be used for anything that you use in your game to reduce the complexity of the scene, such as texture quality, draw distance, particle count, post-processing effects, shadow resolution, etc. In the native integration, you define these parameters using a protocol buffer.
import "tuningfork.proto" message FidelityParams { int32 texture_quality_level = 1; int32 shadow_resolution = 2; float terrain_details_percent = 3; int32 post_processing_effects_level = 4; }
Example FidelityParams Proto Definition for an In-house Engine
Then, you create up to fifteen sets of quality levels as a set of values defined by the FidelityParams message, which allows the Android Performance Tuner to track its metrics against your quality data. You can create both fidelity parameters and quality levels in the Unity editor interface provided by the Android Performance Tuner for Unity plugin.
We've created the Tuning Fork Monitor app to act as a local server and display data from an Android Performance Tuner-enabled app. You can call EnableLocalEndpoint() in the Android Performance Tuner Unity plugin on a development build to enable local testing. In your native integration, you set the endpoint_uri_override in the Android Performance Tuner settings.
EnableLocalEndpoint()
endpoint_uri_override
Once local tests look great, you then enable the Android Performance Parameters API in the Google Cloud Console to test end-to-end.
We're committed to helping you bring the best version of your game to the widest number of users and devices in the Android ecosystem. Android Performance Tuner within the Android Game SDK, the Unity plugin, and Performance Insights within Android Vitals are all available now. You can refer to our documentation for a walk through of the process for native and Unity integrations.
With more kids spending time at home, parents are looking for ways to find apps and games for children that are both enriching and entertaining. Today, we’re announcing an update that will make it easier for parents to find this content on the Google Play Store. We’re launching the Teacher Approved program, an editorial program to highlight high-quality, teacher-approved apps for kids. This is part of our ongoing effort to create a safer Google Play for kids.
We consulted with academic experts to develop a framework for rating apps for kids. Specially trained teachers across the US will rate apps for kids based on this framework, evaluating things like:
Teacher-approved apps will:
The Google Play store featuring teacher-approved apps
As a result of these changes, we are removing the Family star badge and the Family section on Google Play. All apps that were in the Family section will continue to be discoverable on the Play Store and appear in search results. Note that this change will have no effect on Family Library.
Apps need to meet the requirements of the Designed for Families program before they’re eligible to be reviewed by teachers. All Designed for Families apps are automatically placed in the teacher review queue.
We made the decision to launch the Teacher Approved program a little early given the vast number of kids at home now. Teachers are working hard to review apps as quickly as possible, but it will take time to review all apps, so we appreciate your patience. Our initial launch will be limited to the US, to be followed by a global rollout in the coming months.
To help developers better understand what the teachers are looking for, we published a new learning path on Google Play’s Academy for App Success, including findings from Google Play’s research into technology usage by parents and kids.
We’re committed to improving the ecosystem and partnering with our developers. We look forward to continuing to work with you to create the best possible experience for children and families on Google Play. For more information on the Teacher Approved program, check out our FAQs.