Category Archives: Android Developers Blog

An Open Handset Alliance Project

Power your Wear OS fitness app with the latest version of Health Services

Posted by Breana Tate, Developer Relations EngineerThe Health Services API enables developers to use on-device sensor data and related algorithms to provide their apps with high-quality data related to activity, exercise, and health. What’s more, you don’t have to choose between conserving battery life and delivering high frequency data–Health Services makes it possible to do both. Since announcing Health Services Alpha at I/O ‘21, we’ve introduced a number of improvements to the platform aimed at simplifying the development experience. Read on to learn about the exciting features from Health Services Beta in Android Jetpack that your app will be able to take advantage of when you migrate from Alpha.


Capture more with new metrics

The Health Services Jetpack Beta introduces new data and exercise types, including DataType.GOLF_SHOT_COUNT, ExerciseType.HORSE_RIDING, and ExerciseType.BACKPACKING. You can review the full list of new exercise and data types here. These supplement the already large library of data and exercise types available to developers building Wear OS apps with Health Services. Additionally, we’ve added the ability to listen for health events, such as fall detection, through PassiveMonitoringClient.

In addition to new data types, we’ve also introduced a new organization model for data in Health Services. This new model makes the Health Services API more type-safe by adding additional classification information to data types and data points, reducing the chance of errors in code. In Beta, all DataPoint types have their own subclass and are derived from the DataPoint class. You can choose from:

  • SampleDataPoints 
  • IntervalDataPoints 
  • StatisticalDataPoints
  • CumulativeDataPoints

DataTypes are categorized as AggregateDataTypes or DeltaDataTypes.

As a result of this change, Health Services can guarantee the correct type at compile time instead of at runtime, reducing errors and improving the developer experience. For example, location data points are now represented as a strongly-typed LocationData object instead of as a DoubleArray. Take a look at the example below:

Previously:

exerciseUpdate.latestMetrics[DataType.LOCATION]?.forEach {
  val loc = it.value.asDoubleArray()

  val lat = loc[DataPoints.LOCATION_DATA_POINT_LATITUDE_INDEX]
  val lon = loc[DataPoints.LOCATION_DATA_POINT_LONGITUDE_INDEX]
  val alt = loc[DataPoints.LOCATION_DATA_POINT_ALTITUDE_INDEX]

  println("($lat,$lon,$alt) @ ${it.startDurationFromBoot}")
}

Health Services Beta:

exerciseUpdate.latestMetrics.getData(DataType.LOCATION).forEach {
  // it.value is of type LocationData
  val loc = it.value
  val time = it.timeDurationFromBoot
  println("loc = [${loc.latitude}, ${loc.longitude}, ${loc.altitude}] @ $time")

}

As you can see, due to the new approach, Health Services knows that loc is of type List<SampleDataPoint<LocationData>> because DataType.LOCATION is defined as a DeltaDataType<LocationData, SampleDataPoint<LocationData>>.


Consolidated exercise end state

ExerciseState is now included within ExerciseUpdate’s ExerciseStateInfo property. To give you more control over how your app responds to an ending exercise, we’ve added new ExerciseStates called ExerciseState.ENDED and ExerciseState.ENDING to replace what was previously multiple variations of ended and ending states. These new states also include an endReason, such as USER_END, AUTO_END_PREPARE_EXPIRED, and AUTO_END_PERMISSION_LOST.

The following example shows how to check for exercise termination:

val callback = object : ExerciseUpdateCallback {
    override fun onExerciseUpdateReceived(update: ExerciseUpdate) {
        if (update.exerciseStateInfo.state.isEnded) {
            // Workout has either been ended by the user, or otherwise terminated
            val reason = update.exerciseStateInfo.endReason
        }
        ...
    }
    ...
}


Improvements to passive monitoring

Health Services Beta also transitions to a new set of passive listener APIs. These changes largely focus on making daily metrics better typed and easier to integrate. For example, we renamed the PassiveListenerConfig function setPassiveGoals to setDailyGoals. This change reinforces that Health Services only supports daily passive goals.We’ve also condensed multiple APIs for registering Passive Listeners into a single registration call. Clients can directly implement the desired overrides for only the data your app needs.

Additionally, the Passive Listener BroadcastReceiver was replaced by the PassiveListenerService, which offers stronger typing, along with better reliability and performance. Clients can now register both a service and a callback simultaneously with different requests, making it easier to register a callback for UI updates while reserving the background request for database updates.


Build for even more devices on Wear OS 3

Health Services is only available for Wear OS 3. The Wear OS 3 ecosystem now includes even more devices, which means your apps can reach even more users. Montblanc, Samsung, and Fossil are just a few of the OEMs that have recently released new devices running Wear OS 3 (with more coming later this year!). The newly released Pixel Watch also features Fitbit health tracking powered by Health Services.

If you haven’t used Health Services before, now is the time to try it out! And if your app is still using Health Services Alpha, here is why you should consider migrating:

  • Ongoing Health Services Development: Since Health Services Beta is the newest version, bug fixes and feature improvements are likely to be prioritized over older versions.
  • Prepares your app infrastructure for when Health Services goes to stable release
  • Improvements to type safety - less chance of error in code!
  • Adds additional functionality to make it easier to work with Health Services data

You can view the full list of changes and updated documentation at developer.android.com.


Coming up next for Android Dev Summit ‘22: The Form Factors track, on November 9!

Posted by Diana Wong, Product ManagerLast month, we kicked off the first part of Android Dev Summit, and later this week comes the second session track: Form Factors! In this track, we’ll bring you through all things Android form factors, including the API, tooling, and design guidance needed to help make your app look great on Android watches, tablets, TVs and more. We dropped information on the livestream agenda, technical talks, and speakers — so start planning your schedule!

Form Factors Track @ Android Dev Summit November 9, 2022 
Sessions: Deep Dive into Wear OS App Architecture, Build Better Uls Across Form Factors with Android Studio, Designing for Large Screens: Canonical Layouts and Visual Hierarchy Compose: Implementing Responsive UI for Large Screens, Creating Helpful Fitness Experiences with Health Services and Health Connect, The Key to Keyboard and Mouse Support across Tablets and ChromeOS Your Camera App on Different Form Factors,  Building Media Apps on Wear OS,  Why and How to Optimize Your App for ChromeOS. 
Broadcast live on d.android.com/dev-summit & YouTube.

Here’s what to expect on November 9th:

Get ready for all things form factors! We’re kicking the livestream off at 1:00 PM GMT on November 9th on YouTube and developer.android.com, where you’ll be able to watch over 20 sessions and check out the latest announcements on building for different form factors, with talks such as:

  • Build Better UIs Across Form Factors with Android Studio
  • Deep Dive into Wear OS App Architecture
  • Do's and Don'ts: Mindset for Optimizing Apps for Large Screens

And to wrap the livestream up, at 4:20 PM GMT, we’ll be hosting a live Q&A – #AskAndroid - so you can get your burning form factors questions answered live by the team who built Android. Post your questions to Twitter or comment in the YouTube livestream using #AskAndroid, for a chance to have your questions answered on the livestream.


There’s more to come!

There is even more to get excited for as the Android Dev Summit continues later this month with the Platform track. On November 14, we’re broadcasting our Platform technical talks where you’ll learn about the latest innovations and updates to the Android platform. You’ll be able to watch talks such as Android 13: Migrate your apps, Presenting a high-quality media experience for all users, and Migrating to Billing Library 5 and more flexible subscriptions on Google Play. Get a sneak peak at all the Platform talks here.

Missed the kick off event? Watch the keynote on YouTube and check out the keynote recap so you don’t miss a beat! Plus, get up to speed on all things Modern Android Development with a recap video, blog, and the full MAD playlist where you can find case studies and technical sessions.

We’re so excited for all the great content yet to come from Android Dev Summit, and we’re looking forward to connecting with you!

Accurately Measure Android App Performance with Profileable Builds


Posted by Yi Yang (Software Engineer)
It’s important to stay on top of your app performance to make sure your users can easily use your app. When an app experiences issues such as animation jank, frozen frames, and high memory usage, it negatively impacts the user experience which could lead to lower ratings or app deletion. To fix these performance issues, we first need the right tools to measure app performance correctly.
This is where profiling comes in. Profiling helps you find where CPU cycles and memory are spent at the time of inspection which makes it easier for you to pinpoint performance bottlenecks in your app. Android Studio offers a suite of profilers to help with the inspection.
Screenshot of Android Studio profilers
Historically, profiling an Android app required a debug build.
Screenshot of the debug/release build variants in Android Studio

The debug build allows you to use features useful for development, like Apply Changes, working with the debugger, or the Database Inspector. In addition, it also enables profiling tools to inspect the state of a running app unavailable to the release build.

Under the hood, the debug build sets the debuggable flag in the Android Manifest to true.

AndroidManifest.xml


<application android:debuggable="true">

  ...

</application>


While useful, the debug build is meant to provide more information at the cost of performance. That’s because when debuggable is true, a lot of compiler optimizations are turned off.
Screenshot of the Profile HWUI rendering setting in Developer Options. The option is in Developer Options > Monitoring > Profile HWUI rendering > On screen as bars
To show you the performance difference between the debug and release builds, we recorded an app running on the same device but in these two build variants. To visualize the frame rendering time, we turned on Profile GPU Rendering (or Profile HWUI rendering in some Android versions) in Developer Options when recording the screen. Each vertical bar on the bottom of the screen represents how long each frame takes to render. The shorter these bars are, the smoother the animation is.

The screen recording below shows the same app running on the same device. The left-hand side is on a debug build, the right-hand side a release build. The debug version has more stuttering frames, also known as UI jank. This means when you profile the debug build, you may see timing measurements significantly different from what your users see in the release build, and you may end up optimizing something that is not the problem.
GIF showing the performance difference between debug and release builds












To address that issue, the Android platform introduced a tag called profileable. It enables many profiling tools that measure timing information, without the performance overhead of the debug build. Profileable is available on devices running Android 10 or higher.

AndroidManifest.xml

<application>
    <profileable android:shell=["true" | "false"] />
</application>

Let’s look at another screen recording. This time, the left side shows a profileable release app and the right side an unmodified release app. There’s little performance difference between the two.

GIF showing the performance difference between profileable and release builds


With profileable, you can now measure the timing information much more accurately than the debug build.

This feature is designed to be used in production where app security is paramount. Therefore we decided to only support profiling features such as Callstack Sampling and System Trace, where timing measurement is critical. The Memory Profiler only supports Native Memory Profiling. The Energy Profiler and Event Timeline are not available. The complete list of disabled features can be found here. All these restrictions are put in place to keep your app's data safe.

Now that you know what the profileable tag does, let me show you how to use it. There are two options: automatically and manually.


Option 1: Use the option in Android Studio.

With Android Studio Flamingo and Android Gradle Plugin 8.0, all you need to do is just select this option from the Profile dropdown menu in the Run toolbar: “Profile with low overhead”. Then Android Studio will automatically build a profileable app of your current build type and attach the profiler. It works for any build type, but we highly recommend you to profile a release build, which is what your users see.

Screenshot of the one-click profileable builds feature in Android Studio Flamingo Canary
When a profileable app is being profiled, there is a visual indicator along with a banner message. Only the CPU and Memory profilers are available.
Screenshot of Android Studio profiler profiling a profileable build
In the Memory Profiler, only the native allocation recording feature is available due to security reasons.
Screenshot showing Android Studio memory profiler features when profiling a profileable build











This feature is great for simplifying the process of local profiling but it only applies when you profile with Android Studio. Therefore, it can still be beneficial to manually configure your app in case you want to diagnose performance issues in production or if you’re not ready to use the latest version of Android Studio or Android Gradle plugin yet.


Option 2: Manual configuration.

It takes 4 steps to manually enable profileable.

1.    Add this line to your AndroidManifest.xml.

 AndroidManifest.xml

<application>
  <profileable android:shell="true" />
</application>

2.    Switch to the release build type (or any build type that’s not debuggable).
Screenshot of selecting the active build variant in Android Studio
















3.    Make sure you have a signing key configured. To prevent compromising your release signing key, you can temporarily use your debug signing key, or configure a new key just for profiling.




 








 




  

 
4.    Build and run the app on a device running Android 10 or higher. You now have a profileable app. You can then attach the Android Studio profiler by launching the Profiler tool window and selecting the app process from the dropdown list.
Screenshot of process selection in Android Studio profilersMany of you may wonder if it is safe to leave the profileable manifest tag in production and the answer is yes. This tag is designed to be usable in release builds to enable local profiling. No memory data is readable by the host profiling tools and the shell process. Only stack traces are readable, which are typically obfuscated or lacking symbols in release builds.

In fact, many first-party Google apps such as Google Maps ship their app to the Play Store as profileable apps.

Screenshot showing Google Maps as a profileable process in the profiler process dropdownIn summary, profiling the debug build may skew the performance and therefore it’s better to analyze the release build with the profileable tag enabled.

Here’s a table that shows which build type should be used:

ReleaseProfileable ReleaseDebug
ProductionProfiling CPU timingDebugger, Inspectors, etc.

Profiling memory, energy, etc.

To learn more about profilable builds, start by reading the documentation and the the user guide.

With these tools provided by the Android team, we hope you can make your app run faster and smoother.

Play it forward: Evolving our platform for another decade of developer success

Posted by Alex Musil, Director of Product, Google Play

It’s been a big milestone year for Google Play. Having just celebrated our 10th birthday, we’re looking ahead to the next 10 years and thinking about the ways our platform needs to evolve. To do that, we’re launching tons of new features to help you build more sustainable businesses and improve the experience for everyone in the Play ecosystem.

We’ve always been committed to making Google Play a place for developers to build successful businesses, while helping users safely find high-quality content to enjoy. That’s why, over the last year, we’ve made several updates designed to help our developers in ways big and small, from major investments in new content to targeted beta programs to help you find your niche. So in case you missed any of our recent announcements, here’s a recap of all the big updates we’ve recently made to our platform.


Supporting and rewarding great apps and games on Google Play

We’re developing new ways to promote and support high-quality titles throughout the entire lifecycle, from acquisition and engagement to retention and reacquisition. That’s why, over the coming months, we’re rolling out enhancements to Google Play and Google Play Console that embed your key events, content, and offers across the Google Play experience.

For select titles, LiveOps is a great way to reach users directly with offers, launches, and events. Soon, we’ll be expanding how your content is used on Google Play by creating new high-impact placements and formats. Because new content types will be added over time, we’re renaming LiveOps to “Promotional Content” to better reflect the breadth of content you can submit. Promotional Content is already available for thousands of titles and we're looking to expand to more developers next year.


New content formats will help users discover and rediscover high-quality content to enjoy. Final design may vary.

Another key part of the lifecycle is bringing back users who’ve tried your title before. Rolling out towards the end of this year, Churned-user Custom Store Listings will enable you to tell a different story to users who’ve tried but uninstalled your apps or games. If you’d like to be one of the first to try this feature, let us know by filling out this form.


Raising the bar on technical quality

Android users expect a great experience from the apps and games they download, so we’re making higher-quality titles more visible on the Play Store and steering users away from lower-quality ones. One of the most important ways to boost your app quality and attract more users is to focus on technical quality. To do that, we’re implementing new quality thresholds that better align with the user experience.

GOOGLE PLAY’S APP QUALITY BAR
To maximize visibility on Google Play, keep your app below these thresholds.
Core vital

Overall (across all devices)

Per phone model

User-perceived crash rate1.09%8%
User-perceived ANR rate

0.47%8%

Some apps and games that don’t meet these thresholds will be excluded from impactful discovery surfaces such as recommendations, while others may display a warning on their store listing to set appropriate user expectations.

Check out this blog post to learn more about these changes, plus new features in Android vitals to help you monitor and act on technical issues and opportunities.

A more flexible and powerful commerce platform

This year, we’ve made improvements across our commerce platform, including an improved purchase experience, more flexibility and control over your subscriptions, and new monetization insights and programs to help you boost your revenue.

For example, we’ve improved the purchase flow for purchases made by a child or family member account. Parents or the “family manager” can now make purchases on behalf of their child without setting up a family payment method. Now when a family member tries to make a purchase in your app without a family payment method set up, we’ll send a purchase request to the family manager. The family manager can then complete the purchase with any payment method, including gift cards.

For more commerce updates, check out our blog post.


Keeping Google Play Safe with New Features and Programs

Our safety initiatives and policies evolve to help developers like you launch trusted experiences to more than 2.5 billion users around the world.

First, we’re launching new Play Integrity API features to help you defend against unknown, risky traffic. You can customize your API responses and set up tests in Play Console, and use new reporting to analyze and break down API responses across your install base. And, soon, you’ll be able to debug Integrity API responses from the Play Store app’s developer settings on any device.

Second, we’re launching multiple programs to better partner with you. We’re helping protect your apps against inaccurate, coordinated review attacks, providing more communication and global training about our policies and how to comply, and expanding pilots on direct phone support and enforcement strike removal.

And finally, our Developer Previews offer a more privacy-friendly approach to advertising. Please share your Privacy Sandbox feedback with us as we continue to build this multi-year program alongside our advertising industry and developer partners.


Google Play Games beta on PC continues global expansion

Earlier this year, we announced that Google Play Games would be coming to PCs as a beta experience to a limited number of markets. In August, we expanded the product to all players in Korea, Hong Kong, Taiwan, Thailand, and Australia. Beginning today, we’re excited to make Google Play Games beta available for download to all players in the United States, Canada, Mexico, Brazil, Indonesia, Philippines, Malaysia, and Singapore.

In the last few months, our Google Play Games catalog growth has been accelerating with many popular mobile titles including 1945 Air Force, Blade Idle, Cookie Run: Kingdom, and Evony: The King’s Return. All of these titles and dozens more can be played on Windows PCs via a standalone application built by Google.

This program builds on our goal of meeting players where they are, giving them access to their games on as many devices as possible. Additionally, since launching earlier this year we have made significant strides to reach even more players by reducing the minimum spec requirements to PCs running Windows 10+ with an integrated graphics card and 4+ core CPU. To learn more, check out our blog post.

ALT TEXT
Android games can be seamless synced across signed-in devices with Google Play Games.

Thank you for being a part of the Google Play ecosystem, whether you’ve recently joined or been with us since the beginning. Together, we’re looking forward to another 10 exciting years.


How useful did you find this blog post?



Purchase optimization, flexible subscriptions, and revenue growth with Play Commerce

Posted by Jian Zhou, Director of Engineering, Google Play CommerceGoogle Play Commerce provides buyer support in over 190 markets, extensive support for local payment methods, and monetization tools to increase buyer conversion, engagement, and retention – all built on our trusted and secure platform. This year, we’ve made improvements across our platform, with new purchase optimizations, more flexibility and control when selling subscriptions, and enhancements to monetization insights and programs aimed at boosting your revenue.

Smoother, more frictionless purchase experience

Google Play offers users a consistent, familiar purchase experience, and over the past year we’ve launched two major new features to make in-app purchases even more frictionless.

  • Multi-quantity purchases allow your users to purchase more than one of a popular item with ease. You can configure which products are eligible for multi-quantity directly in Play Console to let users easily select the quantity they want to purchase directly in the cart.
    Screenshot of phone screen showing multi-quantity purchasing capability in Google Play
    Implement multi-quantity purchases to allow users to easily purchase more than one item at a time.
  • We are also improving the experience for purchases made by supervised accounts, and users will start seeing this update rollout this month. Parents or “the family manager” can now make app & in-app purchases for their child without requiring to set up a family payment method.
For example, when a child account attempts to make a purchase in your app without a family payment method set up, instead of prompting them to ask the family manager to set one up, a purchase request is sent to the family manager who can complete the purchase with any payment method on their profile, including gift cards. If preferred, the family manager still has the option to set up a family payment method.
Screenshot of four phone screens showing child request purchase and parent approve & buy capability in Google Play
Parents can now easily approve purchases requested by child accounts with their own profile without needing to set up a family payment method.



More flexible subscriptions to improve reach, conversion, and retention

Digital subscriptions continue to be one of the fastest-growing ways for developers to monetize on Google Play, so we reimagined the developer experience and added new tools to give you more flexibility and control when it comes to growing and retaining your subscribers.

  • New subscription capabilities separate your subscription products – what you sell – from how you sell them, allowing you to configure multiple base plans and offers for each subscription. This can help you reduce operational costs by eliminating the need to create and manage an ever-increasing number of SKUs.

    In the past, multiple billing durations and special offers were each defined as fully independent SKUs. If multiple SKUs provided the same benefits with different combinations of billing periods or pricing, this quickly became complex.

    Diagram of Old and New models showing subscription tiers in Google Play
    New model separates your subscription products – what you sell – from how you sell them

    Check out the video below and take our Play Academy course to learn more about configuring base plans and offers for your subscription, including offering prepaid plans that allow users access to pay a fixed amount of time, and then top-up as desired. If you haven’t yet integrated, check out this guide, documentation, and sample app to get started.

  • We also launched In-App Messaging, a new way to retain more subscribers following a declined payment. Simply call the In-App Messaging API when a user opens the app, and if the user’s payment has been declined, they will be prompted to update their payment information.
~2X Subscription recovery when users saw the message* Moving image showing In App Messaging API in Google Play
*Based on experiments with early users
  • Another way to improve retention is by adding benefits describing your subscription in Play Console. Benefits can remind users of the value they get from your subscription at key moments, such as when the user comes to manage their subscription on Play.
Screenshot of a phone screen displaying app benefits in the Cancel screen in Google Play
Add benefits descriptions to remind users of the value received from your subscription

Monetization insights and programs to boost your revenue

Ensuring your app or game’s monetization strategy reaches its full revenue potential is an important focus for us. This year we’ve launched a new monetization insights tool and continued to invest in programs that can complement your strategy.

  • We realize how important it is to contextualize which metrics drive your topline revenue and which lower-level metrics can be further optimized to maximize your game’s revenue. Strategic guidance provides a visual metric hierarchy in Play Console of how your game’s revenue metrics impact your business goals and helps you to identify which metrics to prioritize, as well as opportunities to optimize a chosen metric by providing peer group benchmarks, country breakdowns, and trends. Check out the video below to learn more about strategic guidance and how its metric-specific recommendations can help transform insights into action.

  • Google Play Points is another way to boost your revenue. Since launch, over 100 million members have joined the program! This year, those members have invested over billions of earned points into titles, increasing revenue on average between 5% and 30% for participating developers. Play Points has expanded to over 30 markets, including this year’s launches for users in India, Mexico, Czech Republic, and Poland. We’ve also added the ability to track Points coupon and out of app product transactions through financial reports in Play Console.
  • Google Play Pass is a great way to complement your app or game’s monetization strategy - already featuring 1,100+ titles from over 500 developers. For Play Pass participating titles, we’ve seen Play revenue nearly double on average. Play Pass is now available in 92 markets, including expansion to two new key markets this year: India and Japan. We’ve also added over 200 new apps and games to our catalog this year and continue to invest in Play Pass’s growth by investing $2 million in local game studios, with our first Indie Games Fund in LATAM.

Screenshot of a phone screen showing Google Play Passs in Google Play

All these features and tools are now available on Google Play. To take full advantage of In-App Messaging, prepaid plans, and the new subscription capabilities, update to Play Billing Library 5.0 or newer. As we continue to invest in Play Commerce, we look forward to expanding your buyer reach and developing new monetization tools to help you grow your business.

Raising the bar on technical quality on Google Play

Posted by Lauren Mytton, Group Product Manager, Google Play App quality is the foundation of everything we do at Google Play. Android users expect a great experience from the apps and games they download, so we’re making higher-quality titles more visible on the Play Store, as well as steering users away from lower-quality ones. Some apps and games that don’t meet our quality bar will be excluded from prominent discovery surfaces such as recommendations, while others may display a warning on their store listing to set appropriate user expectations.

One of the most important ways to boost your app quality and attract more users is to focus on technical quality. In this post, we’ll explain how Google Play is evolving its definition of technical quality to be more aligned to user experience, and introduce new features in Android vitals to help you monitor and act on technical issues or opportunities.

1. Aligning our definition of technical quality with user experience

Android vitals is your one-stop destination for monitoring technical quality on Google Play, including stability and performance metrics from the field. The most important metrics are called core vitals, and they affect the visibility of your app on Google Play.

[UPDATED] Core vitals metrics
Moving forward, we’re replacing the existing core vitals metrics with new, more user-focused metrics. We believe these metrics are a better reflection of user experience, and we’ve seen a stronger correlation with uninstalls.
New Core Vitals
User-perceived crash rate
The percentage of daily active users who experienced at least one crash that is likely to have been noticeable (e.g. in the foreground)
User-perceived ANR rate
The percentage of daily active users who experienced at least one ANR that is likely to have been noticeable (e.g. after user input)

[CONTINUED] Overall bad behavior threshold
To improve quality across the board, we will continue to enforce an overall bad behavior threshold. The overall threshold will use the new metrics, but remain unchanged at 1.09% for user-perceived crash rate, and 0.47% for user-perceived ANR rate. To maximize your title’s visibility on Google Play, it’s important to stay below these thresholds.

[NEW] Quality bar per phone model
Technical quality can vary across devices. For example, an app can be stable and smooth on one phone model, but not another. To account for this, we are introducing a new bad behavior threshold that is evaluated per phone model (e.g. Pixel 6). At launch, this threshold will be set to 8% for both user-perceived crash rate and user-perceived ANR rate.


GOOGLE PLAY’S APP QUALITY BAR
To maximize visibility on Google Play, keep your app below these thresholds.
Core vital

Overall (across all devices)

Per phone model

User-perceived crash rate1.09%8%
User-perceived ANR rate

0.47%8%


If your title exceeds the device bad behavior threshold on any core vital for a given phone model, then Google Play may reduce the visibility of your title for users on that phone model. For example, we may exclude the title from some discovery surfaces, and in some cases, we will show a warning on your store listing to indicate to users that your app may not work properly on their phone. The Play Store will start applying store listing warnings on November 30, 2022.
Screen shot of a phone screen showing a store listing warning that the app shown, Soccer Winner 2021, may not work properly on the device based on recent data from similar devices
Users may see a store listing warning if a title has a user-perceived crash rate or user-perceived ANR rate above 8% on their phone model starting November 30, 2022. Note that the warning text is subject to change.

2. New tools to help you monitor and act on technical issues

To help you meet these new quality guidelines, we’ve launched a number of new features in Android vitals to make it easier to monitor and act on any issues.

Monitor the new user-perceived crash and ANR rate metrics in Play Console, or using the API
The new metrics are available in Play Console in Android vitals, and also in the Play Developer Reporting API. The existing metrics remain available for context.

Stay on top of overall and per-phone model technical quality with Android vitals
You can monitor how your title is doing against overall bad behavior thresholds in Android vitals. In addition, Android vitals will warn you if you are exceeding the per-phone model threshold. It will also tell you which phones, and how many users, are affected.

Prioritize and address overall and per-phone model technical quality issues with new features in Android vitals
To understand the causes of technical quality issues on your user-perceived crash and ANR rates, look at the underlying crash and ANR clusters that contribute to these rates. You can view these in the Crashes and ANRs page in Android vitals - both overall, or on for any specific phone model. Address the issues affecting most users first to reduce your issue rate more quickly.

Sometimes, specific aspects of device hardware or software can contribute to your issue rates. To help you catch and resolve those issues, we’ve launched a new feature in Android vitals that will notify you if we find any potential associations. You can also explore associations yourself on the Reach and devices overview page.

Your user-perceived crash rate is particularly high on Android 10
Your user-perceived crash rate on Android 10 (3.74%) is significantly higher than your overall user-perceived crash rate (2.22%). This Android version represents 44% of your total installs. Reduce user-perceived crashes on this Android version to improve your overall user-perceived crash rate.
Show this Android version
View in Reach and devices
Dismiss
Android vitals will alert you of issues potentially associated with device hardware or software.

When prioritizing per-phone model quality issues to tackle, take into account both existing users, and the opportunity cost or impact on new users. To help you do this, we have launched one-click access to consolidated device information in Play Console, including install base, revenue, ratings and reviews. This information is displayed in a side panel so you don’t have to leave the page that you’re on.

Screen shot of the Play Console showing the new side panel with device infromation such as ratings and reviews
A new side panel in Play Console provides consolidated device information in context.

3. What to do now

Ensure the relevant people have access to Android vitals. The new quality metrics are live in Android vitals, and any overall or per-phone technical quality issues will be shown there. We recommend that you review Android vitals regularly in Play Console, or that you integrate with the Play Developer Reporting API to incorporate data directly into your own workflows. For more information, check out the Android developer site.

Although we’re starting at 8%, we’d like developers to aim for per-phone stability metrics that are no worse than 2%. With that in mind, you should expect the per phone model threshold to become lower in the first half of 2023. In the future, we may also extend our quality bar to include new metrics that reflect other important aspects of the user experience. We will provide you with advance notice of any changes.

Users expect great experiences on their devices, and developers who deliver on their expectations will achieve greater success on Google Play. While these updates were designed to help both users and developers to avoid the worst experiences, our long-term focus is to increase the number of great user experiences. To do this requires investment in other aspects of technical quality beyond crashes and ANRs, as well as investment in non-technical aspects of quality. Keep an eye out for more on this topic in the coming months.

Supporting and rewarding great Apps and Games on Google Play

Posted by Tom Grinsted, Group Product Manager, Google Play

Supporting and rewarding great Apps and Games on Google Play

At Google Play, our mission is to facilitate relationships between Android users and app and game developers, enabling tens of thousands of businesses worldwide to grow and thrive in the mobile ecosystem. Every day, together, we help billions of people discover engaging, helpful, and enriching experiences on their devices, which is why we care so deeply about the quality of the experience we offer on the Play Store.

To do that, we’re constantly developing new ways to promote and support high-quality titles throughout the entire lifecycle, from acquisition and engagement to retention and reacquisition. Over the coming months, we’re rolling out enhancements to Google Play and Google Play Console that embed your key events, content, and offers across the Google Play experience. These changes are designed to help you reach more people, improve discovery of higher-quality titles, and optimize your presence for the greatest possible impact.

To help you navigate these updates, we’re sharing our key thinking and direction early, and launching new features to help power your growth across your users’ lifecycle with you. So read on!

Powering developer success across the lifecycle

As a partner, we’re focused on helping developers succeed. In today's app ecosystem, where loyalty and re-engagement are more top of mind than ever before, we’re creating even more opportunities for developers to use our surfaces to not only find first-time users but also to engage, and re-acquire them. 

For select titles, LiveOps is a key channel to reach users directly on Google Play with great offers, launches, and events. LiveOps has helped titles like Rise of Kingdoms, Paramount+, and MyFitnessPal add exciting new content that inspire discovery, re-engagement, and monetization. On average, developers using LiveOps drive +3.6% increase in revenue and a +5.1% increase in 28DAU versus similar titles who don’t. Individual events are already garnering compelling uplifts from Play.

ALT TEXT
Play data: additional growth by a real LiveOp
 Analysis: 90th percentile of over 70 recently run liveOps vs. control groups with 0.9 confidence interval

To accelerate this performance, over the coming months we’re expanding how your content is used on Google Play by creating new high-impact placements and formats. It will become deeply integrated into users’ experiences, from their homepages, through search and discovery, in your title’s listings, and directly into your apps via deep links.
ALT TEXT
New content formats will help users discover and rediscover high-quality content to enjoy. Final design may vary.

To help you take full advantage of the opportunity that content on Play presents, we’re making key changes in Play Console. These start with the renaming of LiveOps to “Promotional Content.” This reflects the breadth of content you can submit to Play today, and new content types we’ll be adding over time. We’ve also updated format guidelines, priority quotas, and now enable bulk data downloads. If you're one of the thousands of titles that already use Promotional Content, look for messages in your Play Console Inbox to find out more. We're looking to expand access to even more apps and games next year.

These changes bring even more opportunities to leverage your events to grow your active audience and revenue. Visibility and promotion across Play are also dependent on the quality of your title and individual content. So make sure you check our updated content guidelines and recommendations.

Driving reacquisitions

Another key part of the lifecycle is bringing back users who’ve tried your title before. As mobile ecosystems continue to mature and developers continue to invest for the long-term, this growth channel is only getting more important.

That’s why we’re introducing Churned-user Custom Store Listings. These enable you to tell a different story to users on Play who’ve tried but uninstalled your apps or games before. Because our store listings power experiences like the overlay you see when interacting with an app ad on YouTube, your custom re-acquisition messages can be seen by users across different Google surfaces.

Over the coming months, we will also look at how Google Play can help enable more reacquisition for great, high-quality titles. Churned-user Custom Store Listings will begin rolling out towards the end of this year and you can express your interest in being one of the first to use them by filling out this form.

Caring about quality - driving acquisitions for high-quality apps and games

We focus on crafting exciting and fresh journeys for users on Play. Among other signals, quality evaluation factors in our teams’ judgements and editorial decisions. Users expect great experiences, and we aim to support titles that deliver on their expectation which is why quality is a key aspect of discovery.

First, we consider in-app quality. We look at a range of factors including: Does your title have a polished design, and content that keeps users engaged for the long term? Is your onboarding experience clear, and are any ads well-integrated? Does your title have intuitive navigation, controls, and menu access? Do you meet the guidelines for functional behavior across all the form factors that you support? And is your title accessible to all users?

Technical quality is another important consideration. It can differ greatly depending on user and device, so we're introducing new more user-focused crash and ANR metrics in Android vitals. These will increasingly influence Play Store treatments—steering users away from titles that are likely to provide a poor experience on their specific devices, and towards ones that may be more suitable. In some cases, a warning could be displayed on store listings.

ALT TEXT
Users may see a store listing warning if a title has a user-perceived crash rate or user-perceived ANR rate above 8% on their phone model starting November 30, 2022. Note that final design and text is subject to change.

We’ll warn you in Android vitals if there’s a risk that your app will get this treatment before it’s visible in Play, so you can take remedial action. Please read our App Quality blog post to learn more.

Finally on the topic of quality, we’re setting a minimum ratings bar of 3.0 stars to improve top charts. We will first launch the ratings change to Top Free charts worldwide and across all form factors in February 2023. Later next year, we plan to bring this change to top paid and grossing charts as well.

Play Console has tools for you to triage your rating, deep dive into top issues users are writing about and respond to reviews directly. Find out more here.

Being transparent about our contributions

As we continue to make Play an even more valuable platform for developers, we want to make sure that you can see the positive impact our surfaces have on your growth. So we’re updating Store Performance reports to better reflect how users discover your titles on Play. This includes more data from off-Play experiences, differentiating paid-for and direct traffic from users’ organic behavior on Play, and the inclusion of key discovery journeys - for instance, searching for categories like ‘Puzzle Games’ - in Explore traffic. Coming soon, we’ll send you a message in Play Console when this update goes live.

All of these changes, along with other exciting features we have in the works, work together. So if you’re invested in the quality of your experiences, evolving your offer, and crafting exciting events and compelling content, Play is the platform and partner to super-charge your growth and success.

Keeping Google Play Safe with New Features and Programs

Posted by Ron Aquino, Senior Director, Trust and Safety, Chrome, Android and Play

Google Play has been the launchpad for millions of developer businesses to connect with consumers around the world as we strive to deliver a safe place to find great apps and games. Our safety initiatives and policies are core ways that we create the trusted experience that users have come to expect. By responsibly evolving these features, policies, and programs, we’re able to help you safely launch new experiences to more than 2.5 billion users in 190 countries around the world.

Today, we’re sharing a number of new features and programs to better partner with you and continue making Google Play a safe platform for everyone.


Protecting your business and your users from risky, unknown traffic

We launched Play Integrity API to all developers earlier this year to help you detect risky, unknown interactions such as from tampered versions of your app or unsupported app environments. You call this API when a user performs an action in your app to check whether it’s your genuine app on a genuine Android device. If something’s off, you can decide what defensive actions to take. Early data show that this feature has helped developers reduce unauthorized usage of their apps by over 50%.

In addition to customizing your API responses and setting up tests in Play Console, we’re launching reporting so you can analyze and break down API responses across your install base. And, soon, you’ll be able to debug Integrity API responses from the Play Store app’s developer settings on any device. This will help you spot issues and refine your anti-abuse strategy. Get started today with the Play Integrity API here.

Introducing new protections against review attacks on Play apps

For you to grow successful businesses and for users to have trustworthy information to help them decide if an app is right for them, it’s critical that app reviews are accurate, relevant, and genuine. Earlier this year, we rolled out a more aggressive program to proactively stop inaccurate, coordinated user attacks on app ratings. Our strengthened system now better detects anomalies and unexplained spikes in low star ratings so that our team can quickly investigate suspicious activity and respond to it. Since this program launched at the start of this year, we have had no major review attacks that materially impacted the ratings of top-downloaded apps. We’ve continued to strengthen the program further by introducing a mandatory 24-hour-delay of all incoming app reviews. Play is also exploring ways to evolve our policy to help ensure the content of app reviews is relevant to the app experience and further elevate trustworthy information on our platform. We'll have more to share soon.



Expanding our program to give developers direct Play Policy support

While we help developers understand our policy changes through a variety of communications and trainings, we heard that you want more direct policy support from Google. Early last year, we started our Google Play Developer Helpline pilot to explore giving developers direct policy support over the phone. By the first half of 2021, we scaled the pilot to 12,000 developers in India and since then, we’ve expanded this offering to 44,000 developers in 17 countries. Today, the Helpline program has completed nearly 4,000 policy support sessions with developers and received a satisfaction score of around 90%. So far, this program has helped developers navigate policy compliance issues. We look forward to further scaling the program to many more of you soon.


Launching the Strike Removal pilot program

Beyond expanded policy support, we also introduced a new program this year to provide developers deeper education on important but commonly misunderstood policy areas. We know that most developers work hard to create and distribute their apps with good intentions, and may sometimes unknowingly violate policies. The Play Strike Removal pilot program provides the opportunity for you to remove an enforcement strike by successfully taking a Play Academy training course and assessment related to the policy violation. We’ve started this program with courses on IP Infringement and Spam policy violations, which account for nearly 2 out of 3 developer suspensions. We hope to add more courses in the future to help you better understand the policies that keep Play safe.


Previewing a more privacy-friendly approach to advertising

As a reminder, Privacy Sandbox for Android is a multi-year initiative to create innovative technologies that will both protect user privacy and give you tools to build thriving digital businesses. These solutions aim to make current tracking mechanisms obsolete and limit covert tracking techniques, like fingerprinting. To do this, we're working on core advertising capabilities that don’t need access to cross-app identifiers, like the Ad ID. You'll be able to use these solutions individually or together to target ads and measure them to create efficient campaigns, all while better protecting user privacy. We’re working in close partnership with the industry and developers. Today, you can test Developer Previews, begin designing integrations, and send us feedback.As a platform, we only succeed when our developers succeed. We work with partners, like you, every day to understand the challenges you face, help launch innovative apps to Google Play, and ensure that the apps remain safe and trusted by our shared users. Thank you for your partnership in making Google Play a safe and trustworthy platform for everyone.

Google Play Games beta on PC continues global expansion

Posted by Arjun Dayal, Director, Google Play Games

Earlier this year, we announced that Google Play Games would be coming to PCs as a beta experience in a limited number of markets. Our goal was to gather early feedback so we could continue improving the product to fit the needs of players and developers around the world. In August, we expanded the product to more players in Korea, Hong Kong, Taiwan, Thailand, and Australia. Beginning today, we’re excited to make Google Play Games beta available for download to all players in the United States, Canada, Mexico, Brazil, Indonesia, Philippines, Malaysia, and Singapore.
Photo of a desktop monitor with keyboard and mouse. On the monitor is the Google Play homepage showing the game Cookie Run Kingdom as the main item ready for install
Google Play Games is available to download in the United States, Canada, Mexico, Brazil, Indonesia, Philippines, Malaysia, and Singapore.
 Subject to game availability and PC compatibility.

In the last few months, our Google Play Games catalog growth has been accelerating with many popular mobile titles including 1945 Air Force, Blade Idle, Cookie Run: Kingdom, and Evony: The King’s Return. All of these titles and dozens more can be played on Windows PCs via a standalone application built by Google.

Our broader goal continues to be meeting players where they are and giving them access to their games on as many devices as possible. Players participating in the beta have expressed excitement at being able to seamlessly play their favorite games across their phones, tablets, Chromebooks, and PCs. Additionally, since launching earlier this year we have made significant strides to reach even more players by reducing the minimum spec requirements to PCs running Windows 10+ with an integrated graphics card and 4+ core CPU.

A phone, Desktop monitor and large tablet screens overlapping side by side while simultanously playing a video trailer for Cookie Run Kingdom. A keyboard and mouse are also visible beneath the screens
Seamless sync across signed-in devices
Subject to game availability and PC compatibility.

We’re thrilled to expand our platform to more markets for players to enjoy their favorite games on Google Play. As we move towards a full release, we will continue to add new features and evaluate developer and player feedback. To sign up for future announcements, or to access the beta in the United States, Canada, Mexico, Brazil, Indonesia, Philippines, Malaysia, Singapore, Korea, Hong Kong, Taiwan, Thailand, or Australia, please go to g.co/googleplaygames. If you’re an Android games developer looking to learn more about Google Play Games, please express interest on our developer site. We’ll have more to share on future beta releases and regional availability soon.

Windows is a trademark of the Microsoft group of companies.
Game titles may vary by region.

Pixel 7, the first 64-bit-only Android phone

Posted by Serban Constantinescu, Product Manager,Pixel 7 and Pixel 7 Pro are the first Android phones to support only 64-bit apps. This configuration drops OS support for 32-bit code, reducing memory usage, improving performance, and enhancing security. Over time, we expect this device configuration to become commonplace.

Thanks to the efforts and collaboration of the entire Android community, our ecosystem is ready. Transitioning Android devices to 64-bit-only required many changes across the platform, tooling, Play, and, of course, your apps. We started by introducing 64-bit support in 2014, announcing policy changes in 2017 and requiring support for Google Play apps starting 2019.

Your device is faster, safer and uses less memory

64-bit apps run faster because they have access to extra registers and instructions that aren't available to 32-bit apps. In addition, newer CPUs deliver up to 25% better performance when running 64-bit code or even drop support for 32-bit code altogether.

64-bit can help improve security. The bigger address space makes defenses like ASLR more effective and the spare bits can be used to protect control flow integrity. These countermeasures may reduce the chance an intruder can take control of your device.

Removing support for 32-bit code saves up to 150MB of RAM, which was used by the OS even when not running 32-bit apps. These memory savings result in fewer out-of-memory conditions meaning less jank and fewer background app kills.

Developers have access to better tools

Developers targeting 64-bit have access to better tools such as HWASan for detecting memory errors and improving the quality of an app.

Faster OS updates for vendors

64-bit-only device configurations halve the CTS testing time. Combined with GKI, vendors can update devices faster and more easily.

Going forward

With 64-bit-only devices now reaching users, we encourage developers to start paying extra attention to testing their apps and updates for 64-bit-only devices. To support this, Google Play now provides pre-launch reports that are run on 64-bit-only devices to detect and report compatibility problems.

Note: While 64-bit-only devices will grow in popularity with phones joining Android Auto in this group, 32-bit-only devices will continue to be important for Android Go, Android TV, and Android Wear. Please continue supporting 32-bit ABIs; Google Play will continue serving 32-bit apps to 32-bit-only devices.