Category Archives: Android Developers Blog

An Open Handset Alliance Project

Four Tips to Help You Build High-Quality, Engaging, and Age-Appropriate Apps

Posted by Mindy Brooks – Senior Director, Android Platform

App developers play a vital role in shaping how people of all ages interact with technology. Whether your app content is specifically designed for kids or simply attracts their attention, there is an added responsibility to ensure a safe and trusted experience. Google is here to support you in that work. Today, we’re sharing some important reminders and updates on how we empower developers to build high-quality, engaging, and age-appropriate apps across the Android ecosystem.

Help Determine Android User Age with Digital IDs

Understanding a user's age range can be critical for providing minors with safer and more appropriate app experiences, as well as complying with local age-related regulations. Android’s new Credential Manager API, now in Beta, addresses this challenge by helping developers verify a user’s age with a digital ID saved to any digital wallet application. Importantly, Android’s Credential Manager was built with both safety and privacy at its core – it minimizes data exposure by only sharing information necessary with developers and asks the user for explicit permission to share an age signal. We encourage you to try out the Beta API for yourself and look forward to hearing your feedback.

While digital IDs are still in their early days, we’re continuing to work with governments on further adoption to strengthen this solution. Android is also exploring how the API can support a range of age assurance methods, helping developers to safely confirm the age of their users, especially for users that can't or don't want to use a digital ID. Please keep in mind that ID-based solutions are just one tool that developers can use to determine age and the best approach will depend on your app.

A diagram showing the flow of information between a user, their Android device, and a developer's app when using the Credential Manager API. The diagram shows how a digital ID from a user's digital wallet is used to provide app information to the developer's app.

Shield Young Users from Inappropriate Content on Google Play

As part of our continued commitment to creating a safe and positive environment for children across the Play Store, we recently launched the Restrict Declared Minors (RDM) setting within the Google Play Console that allows developers to designate their app as inappropriate for minors. When enabled, Google Play users with declared ages below 18 will not be able to download or purchase the app nor will they be able to continue subscriptions or make new purchases if the app is already installed.

Beyond Play’s broader kids safety policies, this new setting gives developers an additional tool to proactively prevent minors from accessing content that may be unsuitable for them. It also empowers developers to take a more proactive role in ensuring their apps reach the appropriate audience. As a reminder, this feature is simply one tool of many to keep your apps safe and we are continuing to improve it based on early feedback. Developers remain solely responsible for compliance with relevant laws and regulations. You can learn more about opting in to RDM here.

Develop Teacher Approved Apps and Games on Google Play

Great content for kids can take many forms, whether that’s sparking curiosity, helping kids learn, or just plain fun. Google Play’s Teacher Approved program highlights high-quality apps that are reviewed and rated by teachers and child development specialists. Our team of teachers and experts across the world review and rate apps on factors like age-appropriateness, quality of experience, enrichment, and delight. For added transparency, we include information in the app listing about why the app was rated highly to help parents determine if the app is right for their child. Apps in the program also must meet strict privacy and security requirements.

Building a teacher-approved app not only helps raise app quality for kids – it can also increase your reach and engagement. All apps in this program are eligible to appear and be featured on Google Play's Kids tab where families go to easily discover quality apps and games. Please visit Google Play Academy for more information about how to design high-quality apps for kids.


Stay Updated With Google Play’s Families Policies

Google Play policies provide additional protections for children and families. Our Families policies require that apps and games targeted to children have appropriate content, show ads suitable for children, and meet other requirements including ones related to personally identifiable information. We frequently update and strengthen these policies to ensure that Google Play remains a place where families can find safe and high-quality content for their children. This includes our new Child Safety Standards Policy for social and dating apps that goes into effect in January.

Developers can showcase compliance with Play’s Families policies with a special badge on the Google Play Data safety section. This is another great way that you can better help families find apps that meet their needs, while supporting Play’s commitment to provide users more transparency and control over their data. To display the badge, please visit the "Security practices" section of your Data Safety form in your Google Play Developer Console.

A mobile phone screen displays an app's data safety information, including data encryption, deletion options, and adherence to Play Families Policy. The 'Data safety' section is expanded within the app's details page.

Additional Resources

Protecting kids online is a responsibility we all share and we hope these reminders are helpful as you prepare for 2025. We’re grateful for your partnership in making Android and Google Play fantastic platforms for delightful, high-quality content for kids and families. For more resources:

#WeArePlay | Tentang Anak connects parents to experts across Indonesia

Posted by Robbie McLachlan, Developer Marketing

In our latest film for #WeArePlay, which celebrates the people behind apps and games, we meet Mesty and Garri - the husband and wife duo who created Tentang Anak. Their app helps parents across Indonesia navigate their parenting journey with confidence: with a focus on child health, growth tracking, and providing accessible expert consultations.


What inspired you to create Tentang Anak?

Mesty: I saw so much misinformation about child health and parenting, especially in Indonesia where there’s a huge gap between the number of pediatricians and children. I wanted to provide parents with reliable, accessible information that could help them raise healthy, well-rounded children, allowing them to feel confident and calm in their parenting journey.

Garri: For me, it was about seeing the need for a one-stop solution for parents. Everything was scattered—pregnancy, growth tracking, expert advice—and I realized we could create something that brings it all together in one place. I wanted to build a platform that supported parents, especially in remote areas, with everything they need to raise their kids with confidence.


A child has their height measured against a wall-mounted height chart. Mesty holds the measuring bar, while a hand holding a smartphone appears to be taking a picture.

How does Tentang Anak ensure that the expert advice is both accurate and accessible to parents in remote areas of Indonesia?

Mesty: We make sure to partner with a team of highly qualified pediatricians, psychologists, and child development experts to ensure our advice is accurate and up-to-date.

Garri: Exactly, staying current with the latest research and best practices is crucial. Misinformation can have a huge impact, especially when it comes to child health. Parents often turn to social media or unverified sources for answers, which can lead to confusion or even harm. By partnering with qualified experts and constantly updating our content, we make sure that parents get accurate, reliable, and timely advice. This is especially important in remote areas where access to healthcare professionals can be limited.


 A hand holds a smartphone displaying a webpage with various colorful sections and icons.

How has Google Play supported Tentang Anak?

Garri: Google Play has provided us with the tools and support to optimize our app's performance and engagement. From using Google’s analytics and A/B testing to improve the user experience, to the seamless distribution through the Play Store, Google has been a key partner in scaling Tentang Anak and making sure parents across Indonesia can access the app.

What is next for Tentang Anak?

Mesty: We’re focused on expanding our reach across Indonesia, ensuring that more parents, especially in remote areas, have access to the support and resources they need. We’re also enhancing our app with more interactive features to keep parents engaged and informed.

Garri: At the same time, we’re expanding our offerings with products for children, including children's books, vitamins, and skincare. Our goal is to make Tentang Anak the go-to platform and brand for all things parenting in Indonesia, and we’re excited to see how we can grow and help even more families.


Discover more global #WeArePlay stories and share your favorites.



How useful did you find this blog post?

#WeArePlay | Tentang Anak connects parents to experts across Indonesia

Posted by Robbie McLachlan, Developer Marketing

In our latest film for #WeArePlay, which celebrates the people behind apps and games, we meet Mesty and Garri - the husband and wife duo who created Tentang Anak. Their app helps parents across Indonesia navigate their parenting journey with confidence: with a focus on child health, growth tracking, and providing accessible expert consultations.


What inspired you to create Tentang Anak?

Mesty: I saw so much misinformation about child health and parenting, especially in Indonesia where there’s a huge gap between the number of pediatricians and children. I wanted to provide parents with reliable, accessible information that could help them raise healthy, well-rounded children, allowing them to feel confident and calm in their parenting journey.

Garri: For me, it was about seeing the need for a one-stop solution for parents. Everything was scattered—pregnancy, growth tracking, expert advice—and I realized we could create something that brings it all together in one place. I wanted to build a platform that supported parents, especially in remote areas, with everything they need to raise their kids with confidence.


A child has their height measured against a wall-mounted height chart. Mesty holds the measuring bar, while a hand holding a smartphone appears to be taking a picture.

How does Tentang Anak ensure that the expert advice is both accurate and accessible to parents in remote areas of Indonesia?

Mesty: We make sure to partner with a team of highly qualified pediatricians, psychologists, and child development experts to ensure our advice is accurate and up-to-date.

Garri: Exactly, staying current with the latest research and best practices is crucial. Misinformation can have a huge impact, especially when it comes to child health. Parents often turn to social media or unverified sources for answers, which can lead to confusion or even harm. By partnering with qualified experts and constantly updating our content, we make sure that parents get accurate, reliable, and timely advice. This is especially important in remote areas where access to healthcare professionals can be limited.


 A hand holds a smartphone displaying a webpage with various colorful sections and icons.

How has Google Play supported Tentang Anak?

Garri: Google Play has provided us with the tools and support to optimize our app's performance and engagement. From using Google’s analytics and A/B testing to improve the user experience, to the seamless distribution through the Play Store, Google has been a key partner in scaling Tentang Anak and making sure parents across Indonesia can access the app.

What is next for Tentang Anak?

Mesty: We’re focused on expanding our reach across Indonesia, ensuring that more parents, especially in remote areas, have access to the support and resources they need. We’re also enhancing our app with more interactive features to keep parents engaged and informed.

Garri: At the same time, we’re expanding our offerings with products for children, including children's books, vitamins, and skincare. Our goal is to make Tentang Anak the go-to platform and brand for all things parenting in Indonesia, and we’re excited to see how we can grow and help even more families.


Discover more global #WeArePlay stories and share your favorites.



How useful did you find this blog post?

Making the Play Integrity API faster, more resilient, and more private

Posted by Prabhat Sharma – Director, Trust and Safety, Play, Android, and Chrome

At Google Play, we’re committed to providing a safe and secure environment for your business to thrive. That’s why we continually invest in reinforcing user trust, protecting your business, and safeguarding the ecosystem. This includes actively combating bad actors who try to deceive users or spread malware, and giving you tools to combat abuse.

Our tools like the Play Integrity API helps protect your business from revenue loss and enhance user safety. You can use the Play Integrity API to detect suspicious activity and decide how to respond to abuse, such as fraud, bots, cheating, or data theft. In fact, apps that use Play Integrity features have seen 80% less unauthorized usage on average compared to other apps. Today, we’re sharing how we’re enhancing the Play Integrity API for everyone.

Play integrity verdicts are becoming faster, less spoofable, and more privacy-friendly

Starting today, we’re changing the technology that powers the Play Integrity API on all devices running Android 13 (API level 33) and above to make it faster, more reliable, and more private for users. Developers already using Play Integrity API can opt-in to start using the new verdicts today; all API integrations will automatically transition to the new verdicts in May 2025. The improved verdicts will require, and make greater use of, hardware-backed security signals using Android Platform Key Attestation, making it significantly harder and more costly for attackers to bypass. We’ll also be adjusting verdicts when we detect security threats across Android SDK versions, such as when there is evidence of excessive activity or key compromise, without requiring any developer work. And now, Play Integrity API will have the same level of reliability and support across all Android form factors.

The transition to the new verdicts will reduce the device signals that need to be collected and evaluated on Google servers by ~90% and our testing indicates verdict latency can improve by up to ~80%.

You can now check whether a device has a recent security update

Play Integrity API offers enhanced security signals, like the optional “meets-strong-integrity” and “meets-basic-integrity” responses in the device recognition verdict, to help you decide how much you trust the environment your app is running in. Now, we’re updating the “meets-strong-integrity” response to require a security update within the last year on devices running Android 13 and above. This update gives apps with higher security needs, like banking and finance apps, governments, and enterprise apps, more ways to tailor their level of protection for sensitive features, like transferring money. When the strong label isn’t available for the user, we recommend that you have a fallback option. Learn more about our recommended API practices.

We’re also making it easier for you to adjust your app's behavior based on the user’s Android SDK version with a new device attributes field. For example, your app could respond differently to the legacy “meets-strong-integrity” definition on devices running Android 12 and lower than to the enhanced definition on devices running Android 13 and higher. The FAQ includes some example code for using the new device attributes field.

We’re standardizing all optional verdict signals so it’s consistent for you to use

We’re simplifying and standardizing all verdict content across apps, games, SDKs, and more, so that what you see will be more consistent and predictable. For apps installed by Google Play, you can get enhanced verdicts with optional signals such as the improved “meets-strong-integrity” device verdict and the recently launched app access risk verdict (which helps you detect and and respond to apps that can capture the screen or control the device, so you can protect your users from scams or malicious activity). For apps installed out of Google Play and all other API requests, you’ll receive a verdict with information about the device, account license, and app, but without the extra security signals.

Developers can start using the improved verdicts today and they’ll go live for all integrations in May 2025

Starting today, all new integrations will automatically receive the improved verdicts. Developers who already use the Play Integrity API can opt-in to the new verdicts now, or wait until it automatically updates for them in May 2025. For more information, see the Play Integrity API documentation. With these ongoing enhancements, the Play Integrity API is becoming an even more essential tool for safeguarding your apps and users.



How useful did you find this blog post?

Gaze Link Wins Best Android App in Gemini API Developer Competition

Posted by Thomas Ezan – Sr Developer Relation Engineer (@lethargicpanda)

We're excited to announce Gaze Link as the winner of the Best Android App for our Gemini API Developer Competition!

This innovative app demonstrates the potential of the Gemini API in providing a communication system for individuals with Amyotrophic lateral sclerosis (ALS) who develop severe motor and verbal disabilities, enabling them to type sentences with only their eyes.

About Gaze Link

Gaze Link uses Google’s Gemini 1.5 Flash model to predict the user’s intended sentence based on a few key words and the context of the conversation.

For example if the context is “Is the room temperature ok?” and the user replies “hot AC two” the app will leverage Gemini to generate the full sentence “I am hot, can you turn the AC down by two degrees?”.

The Gaze Link team took advantage of Gemini 1.5 Flash multilingual capabilities to let the app generate sentences in English, Spanish and Chinese, the three languages currently supported by the app.

We were truly impressed by the Gaze Link app. The team used the Gemini API combined with ML Kit Face Detection to empower individuals with ALS providing them with a powerful communication system that is both accessible and affordable.

With Gemini 1.5 Flash currently supporting 38 languages, it is possible for Gaze Link to add support for more languages in the future. In addition, the model’s multimodal abilities could enable the team to enhance the user experience by integrating image, audio and video to augment the context of the conversation.

Build with the Gemini API

The result of the integration of the Gemini API in Gaze Link is inspiring. If you are working on an Android app today, we encourage you to learn about the Gemini API capabilities to see how you can successfully add generative AI to your app and delight your users.

To get started, go to the Android AI documentation!

X improved login success rate by 2x after adopting passkeys

Posted by Niharika Arora – Developer Relations Engineer

From breaking news and entertainment to sports and politics, X is a social media app that aims to help nearly 500 million users worldwide get the full story with all the live commentary. Recently, X developers revamped the Android app’s login process so users never miss out on the conversations they’re interested in. Using the Credential Manager API, the team implemented new passkey authentication for quicker, easier, and safer access to the app.

Simplifying login with passkeys

Today, traditional password-based authentication systems are less secure and more prone to cyber attacks. Many users often choose easy-to-guess passwords, which bad actors can easily crack using brute force attacks. They also reuse the same passwords across multiple accounts, meaning if one password is hacked, all accounts are compromised.

Passkeys address the growing concern of account security from weak passwords and phishing attacks by eliminating the need for passwords entirely. The feature provides a safer, more seamless sign-in experience, freeing users from having to remember their usernames or passwords.

“Passkeys are a simpler, more secure way to log in, replacing passwords with pins or biometric data like fingerprints or facial recognition,” said Kylie McRoberts, head of safety at X. “We explored using passkeys to make signing in easier and safer for users, helping protect their accounts without the hassle of remembering passwords.”

Since implementing passkeys, the X team has seen a substantial reduction in login times and metrics showing improved login flow. With passkeys, the app’s successful login rate has doubled compared to when it only relied on passwords. The team has also seen a decline in password reset requests from users who have enabled passkeys.

According to X developers, adopting passkeys even came with benefits beyond enhanced security and a simplified login experience, like lower costs and improved UX.

“Passkeys allowed us to cut down on expenses related to SMS-based two-factor authentication because they offer strong, inherent authentication,” said Kylie. “And with the ease of login, users are more likely to engage with our platform since there’s less friction to remember or reset passwords.”

Passkeys rely on public-key cryptography to authenticate users and provide them with private keys. That means websites and apps can see and store the public key, but never the private key, which is encrypted and stored by the user’s credential provider. As keys are unique and tied to the website or app, they cannot be phished, further enhancing their security.

We achieved an 80% code reduction in the authentication module, a 90% resolution of legacy edge case bugs, and an 85% decrease in GIS, One Tap, and Smart Lock code using passkeys.” — Saurabh Arora, Staff Engineer at X.

Seamless integration using the Credential Manager API

To integrate passkeys, X developers used Android’s Credential Manager API, which made the process “extremely smooth,” according to Kylie. The API unifies Smart Lock, One Tap, and Google Sign-In into a single, streamlined workflow. This also allowed developers to remove hundreds of lines of code, boosting implementation and reducing maintenance overhead.

In the end, the migration to Credential Manager took X developers only two weeks to complete, followed by an additional two weeks to fully support passkeys. This was a “very fast migration” and the team “didn’t expect it to be that simple and straightforward,” said Saurabh Arora, a staff engineer at X. Thanks to Credential Manager’s simple, coroutine-powered API, the complexities of handling multiple authentication options were essentially removed, reducing code, the likelihood of bugs, and overall developer efforts.

X developers saw a significant improvement in developer velocity by integrating the Credential Manager API. With their shift to passkey adoption through Credential Manager API, they achieved an:

    • 80% code reduction in the authentication module
    • 90% resolution of legacy edge case bugs
    • 85% decrease in GIS, One Tap, and Smart Lock handling code

Using the Credential Manager API's top-level methods, like createCredential and getCredential, simplified integration by removing custom logic complexities surrounding individual protocols. This uniform approach also meant X developers could use a single, consistent interface to handle various authentication types, such as passkeys, passwords, and federated sign-ins like Sign in with Google.

“With Credential Manager’s simple API methods, we could retrieve passkeys, passwords, and federated tokens with a single call, cutting down on branching logic and making response handling cleaner,” said Saurabh. “Using different API methods, like createCredential() and getCredential(), also simplified credential storage, letting us handle passwords and passkeys in one place.”

X developers didn’t face many challenges when adopting Sign in With Google using the Credential Manager API. Replacing X’s previous Google Sign In, One Tap, and Smart Lock code with a simpler Credential Manager implementation meant developers no longer had to handle connection or disconnection statuses and activity results, reducing the margin of error.

A UI example of passkeys on X

A future with passkeys

X's integration of passkeys shows that achieving a more secure and user-friendly authentication experience can be achieved. By leveraging Credential Manager API, X developers simplified the integration process, reduced potential bugs, and improved both security and developer velocity—all while sharpening the user experience.

“Our advice for developers considering passkey integration would be to take advantage of the Credential Manager API,” said Saurabh. “It really simplifies the process and reduces code you need to write and maintain, making implementation better for developers.”

Looking ahead, X plans to further enhance the user experience by allowing sign-ups with passkeys alone and providing a dedicated passkey management screen.

Get started

Learn how to improve your app’s login UX using passkeys and the Credential Manager API.

Introducing Restore Credentials: Effortless account restoration for Android apps

Posted by Neelansh Sahai - Developer Relations Engineer

Did you know that, on average, 40% of the people in the US reset or replace their smartphones every year? This frequent device turnover presents a challenge – and an opportunity – for maintaining strong user relationships. When users get a new phone, the friction of re-entering login credentials can lead to frustration, app abandonment, and churn.

To address this issue, we're introducing Restore Credentials, a new feature of Android’s Credential Manager API. With Restore Credentials, apps can seamlessly onboard users to their accounts on a new device after they restore their apps and data from their previous device. This makes the transition to a new device effortless and fosters loyalty and long term relationships.

On top of all this, there's no developer effort required for the transfer of a restore key from one device to the other, as this process is tied together with the android system’s backup and restore mechanism. However, if you want to login your users silently as soon as the restore is completed, you might want to implement BackupAgent and add your logic in the onRestore callback. The experience is delightful - users will continue being signed in as they were on their previous device, and they will be able to get notifications to easily access their content without even needing to open the app on the new device.

An illustration the process of restoring app data and keys to a new device, highlighting automated steps and user interactions.  The top row shows a user signing into an app and a restore key being saved locally, while the bottom row shows the restore process on a new device.
click to enlarge

Some of the benefits of the Restore Credentials feature include:

    • Seamless user experience: Users can easily transition to a new Android device.
    • Immediate engagement: Engage users with notifications or other prompts as soon as they start using their new device.
    • Silent login with backup agent integration: If you're using a backup agent, users can be automatically logged back in after data restoration is complete.
    • Restore key checks without backup agent integration: If a backup agent isn't being used, the app can check for a restore key upon first launch and then log the user in automatically.

How does Restore Credentials work?

The Restore Credentials feature enables seamless user account restoration on a new device. This process occurs automatically in the background during device setup when a user restores apps and data from a previous device. By restoring app credentials, the feature allows the app to sign the user back in without requiring any additional interaction.

The credential type that’s supported for this feature is called restore key, which is a public key compatible with passkey / FIDO2 backends.

A diagram shows the device-to-device and cloud backup restore processes for app data and restore keys between old and new devices.  Steps are numbered and explained within the diagram.
Diagram that depicts restoring an app data to a new device using a restore credential, including creating the credential, initiating a restore flow, and automatic user sign-in.

User flow

On the old device:

    1. If the current signed-in user is trusted, you can generate a restore key at any point after they've authenticated in your app. For instance, this could be immediately after login or during a routine check for an existing restore key.
    2. The restore key is stored locally and backed up to the cloud. Apps can opt-out of backing it up to the cloud.

On the new device:

    1. When setting up a new device, the user can select one of the two options to restore data. Either they can restore data from a cloud backup, or can locally transfer the data. If the user transfers locally, the restore key is transferred locally from the old to the new device. Otherwise, if the user restores using the cloud backup, the restore key gets downloaded along with the app data from cloud backup to the new device.
    2. Once this restore key is available on the new device, the app can use it to log in the user on the new device silently in the background.
Note: You should delete the restore key as soon as the user signs out. You don’t want your user to get stuck in a cycle of signing out intentionally and then automatically getting logged back in.

How to implement Restore Credentials

Using the Jetpack Credential Manager let you create, get, and clear the relevant Restore Credentials:

    • Create a Restore Credential: When the user signs in to your app, create a Restore Credential associated with their account. This credential is stored locally and synced to the cloud if the user has enabled Google Backup and end to end encryption is available. Apps can opt out of syncing to the cloud.
    • Get the Restore Credential: When the user sets up a new device, your app requests the Restore Credential from Credential Manager. This allows your user to sign in automatically.
    • Clear the Restore Credential: When the user signs out of your app, delete the associated Restore Credential.

Restore Credentials is available through the Credential Manager Jetpack library. The minimum version of the Jetpack Library is 1.5.0-beta01, and the minimum GMS version is 242200000. For more on this, refer to the Restore Credentials DAC page. To get started, follow these steps:

    1. Add the Credential Manager dependency to your project.

// build.gradle.kts
implementation("androidx.credentials:credentials:1.5.0-beta01")

    2. Create a CreateRestoreCredentialRequest object.

// Fetch Registration JSON from server
// Same as the registrationJson created at the time of creating a Passkey
// See documentation for more info
val registrationJson = ... 

// Create the CreateRestoreCredentialRequest object
// Pass in the registrationJSON 
val createRequest = CreateRestoreCredentialRequest(
  registrationJson,
  /* isCloudBackupEnabled = */ true
)
      NOTE: Set the isCloudBackupEnabled flag to false if you want the restoreKey to be stored locally and not in the cloud. It’s set as true by default

    3. Call the createCredential() method on the CredentialManager object.

val credentialManager = CredentialManager.create(context)

// On a successful authentication create a Restore Key
// Pass in the context and CreateRestoreCredentialRequest object
val response = credentialManager.createCredential(
    context,
    createRestoreRequest
)

    4. When the user sets up a new device, call the getCredential() method on the CredentialManager object.

// Fetch the Authentication JSON from server
val authenticationJson = ...

// Create the GetRestoreCredentialRequest object
val options = GetRestoreCredentialOption(authenticationJson)
val getRequest = GetCredentialRequest(Immutablelist.of(options))

// The restore key can be fetched in two scenarios to 
// 1. On the first launch of app on the device, fetch the Restore Key
// 2. In the onRestore callback (if the app implements the Backup Agent)
val response = credentialManager.getCredential(context, getRequest)

If you're using a backup agent, perform the getCredential part within the onRestore callback. This ensures that the app's credentials are restored immediately after the app data is restored.

    5. When the user signs out of your app, call the clearCredentialState() method on the CredentialManager object.

// Create a ClearCredentialStateRequest object
val clearRequest = ClearCredentialStateRequest(/* requestType = */ 1)

// On user log-out, clear the restore key
val response = credentialManager.clearCredentialState(clearRequest)

Conclusion

The Restore Credentials feature provides significant benefits, ensuring users experience a smooth transition between devices, and allowing them to log in quickly and easily through backup agents or restore key checks. For developers, the feature is straightforward to integrate and leverages existing passkey server-side infrastructure. Overall, Restore Credentials is a valuable tool that delivers a practical and user-friendly authentication solution.


This blog post is a part of our series: Spotlight Week: Passkeys. We're providing you with a wealth of resources through the week. Think informative blog posts, engaging videos, practical sample code, and more—all carefully designed to help you leverage the latest advancements in seamless sign-up and sign-in experiences.

With these cutting-edge solutions, you can enhance security, reduce friction for your users, and stay ahead of the curve in the rapidly evolving landscape of digital identity. To get a complete overview of what Spotlight Week has to offer and how it can benefit you, be sure to read our overview blog post.

#WeArePlay | Meet more people creating apps and games in Japan

Posted by Robbie McLachlan, Developer Marketing

Earlier this year #WeArePlay went on a virtual tour of Australia and the U.S. to spotlight the stories of app and game founders. Today, we’re rounding up our tour across the world with the last stop for 2024: Japan. From an app that uses AI to promote early health intervention to one that’s turning litter picking into a social movement, meet the 49 apps and games founders building growing businesses on Google Play.

Let’s take a quick road trip across Japan by reading some of my favorite stories.



Fujio, founder of Pirika 
Tokoyo, Tokyo

Fujio’s app is turning litter collection into a global movement

When Fujio was a child, his love for environmental books ignited his passion for protecting nature. Later, while traveling through different countries, he was shocked to find litter everywhere, even in remote jungles. This experience inspired him to create Pirika – named after the Ainu word for “beautiful” – a social platform that encourages people to pick up litter, document it with photos, and geotag locations to track problem areas. With over over 360 million pieces of trash collected globally, Pirika is fostering a nationwide movement towards cleaner communities. Fujio plans on expanding the app’s reach worldwide, mobilizing communities to fight pollution collectively.


CHARROOM with short, dark hair, wearing a mask and a light-colored blouse and gray skirt, holds a small, white, long-haired dog. They are standing in front of a floral arch with text partially visible, including the words 'BE' and 'COMING'.
CHARROOM, founder of CHARROOM 
Osaka, Kinki

Self-taught game developer and illustrator CHARROOM turned her passion for mini-games into a full-time career. Her latest project, Sushi Food Cart, combines two of her favorite things: sushi and cats. In this fun cooking game, players manage a sushi food cart, preparing and serving sushi to customers quickly and accurately. The game features quirky cat characters, time-management challenges, and colorful art. As players progress, they unlock new recipes, upgrades, and meet new cat characters. For Char, creating apps is her ‘ikigai’—her purpose in life. She’s currently working on a new restaurant game to continue spreading her playful approach to gaming.


Kota and Yoshinori, co-founders of Ubie, wearing suits and white shirts, smile and talk in front of a white wall.
Kota and Yoshinori, co-founders founders of Ubie 
Tokyo, Tokyo

Kota and Yoshinori’s app uses AI to help people research their health concerns and connect with medical specialists

When entrepreneur Kota decided to create a healthcare app, he partnered with his high school friend and roommate, Dr. Yoshinori. Combining Kota’s tech expertise with Yoshinori’s medical knowledge, they developed Ubie, an AI-powered symptom checker that allows people to research their symptoms and connect with medical specialists. The app promotes early detection and intervention by offering them tailored information on potential health concerns and guidance on finding care. Ubie's goal is not just limited to symptom checking; the founders plan to expand its services to include tracking treatments and managing day-to-day healthcare needs alongside transforming Ubie into a global brand.

 Takuji, co-founders of IzumiArtisan, sits in a folding chair at a campsite. He is wearing a brown sweater, khaki pants, and black shoes. A car and tent are visible in the background.
Takuji and Shohei, co-founders of IzumiArtisan 
Osaka, Kinki

Takuji has always been passionate about travel and music, but when he learned programming 15 years ago, he discovered a new creative outlet. Together with his brother, Shohei, he launched IzumiArtisan from their parents' house in Osaka. The duo specializes in creating escape room games, heavily influenced by the detective stories Takuji loves. Their popular game, Rime, is filled with mysterious puzzles and plot twists and has been translated into 18 languages, capturing a global audience. The brothers are now working on a new title inspired by the American Underground Railroad.


Discover more #WeArePlay stories from Japan, and stories from across the globe.



How useful did you find this blog post?

The First Developer Preview of Android 16

Posted by Matthew McCullough – VP of Product Management, Android Developer


Android 16 Developer Preview 1 is available now to test with your apps. This is the start of Android having more frequent API releases as part of our effort to drive faster innovation in apps and devices.

Two Android API releases in 2025

    • This preview is for the next major release of Android with a planned launch in Q2 of 2025. This release is similar to all of our API releases in the past, where we can have planned behavior changes that are often tied to a targetSdkVersion.
    • We’re planning the major release a quarter earlier (Q2 rather than Q3 in prior years) to better align with the schedule of device launches across our ecosystem, so more devices can get the major release of Android sooner. With the major release coming in Q2, you’ll need to do your annual compatibility testing a few months earlier than in previous years to make sure your apps are ready.
    • We plan to have another release in Q4 of 2025 which also will include new developer APIs. The Q2 major release will be the only release in 2025 to include planned behavior changes that could affect apps.

In addition to new developer APIs, the Q4 minor release will pick up feature updates, optimizations, and bug fixes; it will not include any app-impacting behavior changes.

A timeline shows the release schedule for software development kits (SDKs), marked as 25Q1 through 25Q4.  25Q2 is a major release with behavior changes, APIs, and features, while 25Q4 is a minor release with APIs and features; 25Q1 and 25Q3 include features only.

We'll continue to have quarterly Android releases. The Q1 and Q3 updates in-between the API releases will provide incremental updates to help ensure continuous quality. We’re actively working with our device partners to bring the Q2 release to as many devices as possible.

Using new APIs with major and minor releases

Guarding a code block with a check for Android's API level is done today using the SDK_INT constant with VERSION_CODES. This will continue to be supported for major Android releases.

if (SDK_INT >= VERSION_CODES.BAKLAVA) {
  // Use APIs introduced in Android 16
}

The new SDK_INT_FULL constant can be used for API checks against both major and minor versions with the new VERSION_CODES_FULL enumeration.

if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
  // Use APIs introduced in a major or minor release
}

You can also use the Build.getMinorSdkVersion() method to get just the minor SDK version.

val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)

These APIs have not yet been finalized and are subject to change, so please send us feedback if you have any concerns.

Note that there’s no change to the target API level requirements and the associated dates for apps in Google Play; our plans are for one annual requirement each year, and that will be tied to the major API level.

Embedded photo picker

The photo picker provides a safe, built-in way for users to grant your app access to selected images and videos from both local and cloud storage, instead of their entire media library. Using a combination of Modular System Components through Google System Updates and Google Play services, it's supported back to Android 4.4 (API level 19). Integration requires just a few lines of code with the associated Android Jetpack library.

The developer preview includes new APIs that enable apps to embed the photo picker into their view hierarchy. This allows it to feel like a more integrated part of the app while still leveraging the process isolation that allows users to select media without the app needing overly-broad permissions. To maximize compatibility across platform versions and simplify your integration, you'll want to use the forthcoming Android Jetpack library if you wish to integrate the embedded photo picker.

Health records

The developer preview of Health Connect contains an early version of APIs supporting health records. This allows apps to read and write medical records in FHIR format with explicit user consent. This API is currently in an early access program. Sign up to be part of our early access program.

Privacy Sandbox on Android

Android 16 incorporates the latest version of the Privacy Sandbox on Android, part of our ongoing work to develop technologies where users know their privacy is protected. Our website has more about the Privacy Sandbox on Android developer beta program to help you get started. Check out the SDK Runtime which allows SDKs to run in a dedicated runtime environment separate from the app they are serving, providing stronger safeguards around user data collection and sharing.

How to get ready

In addition to performing compatibility testing on the next major release, make sure that you're compiling your apps against the new SDK, and use the compatibility framework to enable targetSdkVersion-gated behavior changes as they become available for early testing.

App compatibility

A timeline shows the release stages of a product from November 2024 to the final release after April 2025.

The Android 16 Preview program runs from November 2024 until the final public release next year. At key development milestones, we'll deliver updates for your development and testing environments. Each update includes SDK tools, system images, emulators, API reference, and API diffs. We'll highlight critical APIs as they are ready to test in the preview program in blogs and on the Android 16 developer website.

We’re targeting Late Q1 of 2025 for our Platform Stability milestone. At this milestone, we’ll deliver final SDK/NDK APIs and also final internal APIs and app-facing system behaviors. We’re expecting to reach Platform Stability in March 2025, and from that time you’ll have several months before the official release to do your final testing. Visit our Android Developers site for details on the release timeline.

Get started with Android 16

You can get started today with Developer Preview 1 by flashing a system image and updating the tools. We're looking for your feedback so please report issues and submit feature requests on the feedback page. The earlier we get your feedback, the more we can include in the final release.

For the best development experience with Android 16, we recommend that you use the latest preview of the Android Studio Ladybug feature drop. Once you’re set up, here are some of the things you should do:

    • Compile against the new SDK, test in CI environments, and report any issues in our tracker on the feedback page.
    • Test your current app for compatibility, learn whether your app is affected by changes in Android 16, and install your app onto a device or emulator running Android 16 and extensively test it.

We’ll update the preview system images and SDK regularly throughout the Android 16 release cycle. This initial preview release is for developers only and not intended for daily or consumer use, so we're making it available by manual download only. Once you’ve manually installed a preview build, you’ll automatically get future updates over-the-air for all later previews and Betas. Visit the Android developer website for further information on Android updates.

If you've already installed Beta 1 from the Android 15 QPR2 Beta program, you will not be able to move to the Android 16 Developer Preview program without wiping your device. Consider avoiding installing future betas to transition to the next developer preview build without a data wipe.

As we reach our Beta releases, we'll be inviting consumers to try Android 16 as well, and we'll open up enrollment for Android 16 in the Android Beta program at that time.

For complete information, visit the Android 16 developer site.

Welcome to Spotlight Week: Passkeys

Posted by Joseph Lewis – Android Developer Relations Technical Writer, and Niharika Arora – Android Developer Relations Engineer

We're kicking off Spotlight Week with a deep dive into passkeys! This week we're partnering with the Chrome team to feature exciting announcements, insightful resources, and expert guidance on how to build seamless and secure authentication experiences for your apps.

Throughout Spotlight Week: Passkeys, we'll share content to help you understand and implement passkeys effectively. Expect technical deep dives, best practices for user experience, case studies from successful implementations, and answers to your questions.

Here's what we'll cover during Spotlight Week: Passkeys:

Monday, Nov 18: Get started with passkeys

We'll start off the week with resources to help you begin passkey integration. Check out these resources to get started!

Key resources include a quick video on passkey basics, updated UX guidelines for Credential Manager and passkeys, and an in-depth server-side implementation guide. We will introduce you to the Identity hub, a comprehensive resource for passkeys, passwords, Sign in with Google, authorization, and much more.


Understand passkeys in 4 minutes

Tuesday, Nov 19: Updated passkeys developer guides

We'll share updated passkeys developer guidance, including migration guides, a new troubleshooting guide, and more. Highlights include a guide on migrating from legacy APIs to Credential Manager, technical details on FIDO2 attestation format changes, and a troubleshooting guide for common Credential Manager errors. 

Developers can also share feedback through a passkeys survey to influence future improvements.


Wednesday, Nov 20: New Credential Manager features

We'll go over some of the new Credential Manager capabilities, including improvements to autofill, single-tap sign-in, and the new Restore Credentials feature. Key updates include showing Credential Manager results as autofill suggestions, single-tap sign-in, Signal API for Chrome desktop and a Restore Credentials feature, which allows users to conveniently recover their saved login information in case of device loss or upgrades, ensuring uninterrupted access to their accounts. With Android 15, these additions streamline user authentication and reinforce security, making it easier for users to manage and access their credentials securely.


Thursday, Nov 21: Passkeys #AskAndroid

On Thursday at 9AM PT Spotlight Week: Passkeys will feature an #AskAndroid session to address your most pressing passkey questions. We'll also share case studies with Tokyu and X, highlighting their successful deployments of passkey authentication.


Friday, Nov 22: Learn more about passkeys

We'll close out the week with learning pathways for passkeys on Android and Chrome, insights from partners, and a new Compose sample app for Credential Manager with Android best practices and built using Compose.


We hope you'll join us in exploring these resources to learn how to elevate your app's security and user experience. We're excited to share this journey with you!