Posted by Bert de Weerd and Tingmui Li, Google Play
When Google Play launched in 2008, it was easy for developers to get noticed with only a few hundred apps and games live on the Play Store. Fast forward to today, there are now millions of apps and games available to audiences in over 190 countries. The unique assets you provide to the Store – images, video, descriptions, even your app name itself – are essential to users making a decision on what to download.
Google Play is increasingly showing more of your assets front and center, surfacing graphic assets and descriptions right on Apps and Games home. To ensure that your store listing assets can help users anticipate your in-app or in-game experience and drive meaningful downloads, we are:
Since your app title, icon, and developer name are the most important discovery elements on your store listing page, we are preparing to launch a new set of policies to keep these elements recognizable and unique, focusing on:
App title, icon and developer name that do not meet the upcoming policies will not be allowed on Google Play. You can expect more details about this policy change, including enforcement start dates, later this year.
We recommend reviewing the examples of do and don’t below and thinking about how these changes may impact you, so you can get ready for the upcoming policy changes.
We are also announcing new store listing preview asset guidelines for the feature graphics, screenshots, videos, and short descriptions you supply to showcase your app's features and functionality. Assets that don’t meet our guidelines may be ineligible for promotion and recommendation on major Google Play surfaces like Apps and Games home.
The new guideline for developer supplied assets focus on the following principles:
To ensure that your apps and games are eligible for recommendations on all surfaces on Google Play, please review our new store listing guidelines. We’ll start using these guidelines to inform our recommendations starting in the second half of 2021.
We hope you found both the policy pre-announcement and preview asset guideline announcement useful as you plan your roadmap for the year, and we hope you share in our excitement for a more useful and engaging Play Store.
Posted by Luli Perkins, Developer Relations Program Manager
We’re wrapping up the April edition of #AndroidDevJourney by highlighting Android developers from all over the world each with their own unique experience. Early this year, we launched the #AndroidDevJourney series to highlight our community on our social media accounts. Each Saturday, from January through June, we’ll feature a new developer on our Twitter account.
We’re getting near the end of our six month journey, so don’t miss your chance to be featured in one of our last two spotlight series, tweet us your story using #AndroidDevJourney.
Tell me about your journey to becoming an Android Developer and how you got started.
I started my journey first as a backend developer 10 years ago while teaching myself Android development on the side. I had an opportunity to create an app from scratch. My first app had in-app-purchasing, notifications, and video playback. It wasn’t easy. I was the only Android developer and I learned as I went along. I kept building on this experience and have worked on building many apps in the past 10 years.
In my journey, I was an early adopter of Kotlin. During that time, there were very few resources to learn Kotlin. I learned Kotlin by converting lots of Java code to Kotlin. I’m grateful to have learned Kotlin early on. Coding is what I do, but not who I am. There have been many obstacles in my journey. But, Kotlin was my medium to discover my passion. It has had a profound impact on my life.
I have helped companies adopt Kotlin and Kotlin Coroutines on both Android and backend. I enjoy teaching it. I shared my experiences through tech talks. For the past eight years I gave a tech talk every month in the NYC community. Every talk has meant so much to me, because of what I went through to prepare for it. My adversity has been my motivator. Everyone sees the results, but not the process. I discovered my passion for public speaking and developer advocacy. After eight years, I became a GDE in Android & Kotlin and I’m still on this journey to inspire others.
What’s one shortcut, tip, or hack you can’t live without?
Finding ways to incorporate automation in your solutions is one of the attributes of a good developer. I have observed it in many examples through out my career. For example, a developer wrote an annotation processor to generate custom adapters and to generate models based on API specifications. Another example is a developer who wrote a generator to setup the scaffolding for a module. Its valuable to find ways to automate tasks.
What's the one piece of advice you wish someone would have given you when you started on your journey?
You will seldomly work on green field projects. You will work on an app that already exists and has been built over the years. You’ll work on teams that have diverse perspectives on best practices on Android throughout your career. You may not work on an Android app that is using a modern Android development stack. You’ll find many obstacles navigating this spectrum. But, the obstacle is the way.
We first became an Android Developers when we made Temple Run! We started out with a bang. Fans instantly all of the world came to love playing Temple Run on Android and we were happy to develop the game for Android!
Tip 1 - To help deal with the larger number of Android devices out there, build a device farm with a wide range of devices, and do robust automated testing on your app from the start.
Tip 2 - Build releases and store listings can be updated independently.
Advice 1 - The biggest thing that struck us about Android development is just how many devices there are out there. Google Play supports tens of thousands of devices, and if you want to cover a sizable portion of those, you need to plan ahead for things like quality controls, asset tiering, and content delivery specced. If we could go back to the beginning of Temple Run 2 and have known that at the start, we could have planned a game that would look and run even better across an even bigger range of devices.
Advice 2 - The industry moves fast so be open to change and research your craft.
My Android development journey started in 2015. I was doing my computer science degree and I felt that there was a gap between the theory and practical technical skills so I enrolled in the Moringa School coding bootcamp. Here I was introduced to Android development by the then instructor and cofounder Frank Tamre. I immediately fell in love with Android and I have been hooked ever since.
The Google Developer Groups and WomenTechMakers communities have played a great role in my journey. The tech community provides invaluable resources that have immensely helped in my career growth. I was the Women TechMakers Nyeri chapter lead for about two years where I taught Android development to aspiring developers. Through the community I was able to meet brilliant Android developers who I still learn from everyday.
Currently I always aim to contribute to the tech community in whatever capacity I can.
I can't live without JsonToKotlin plugin it is an efficient tool that makes JSON deserialization easy and fast.
Read the developer documentation, it will save you a lot of time which would otherwise have been wasted on trial and error.
I started working with Android while I was studying at university, and it was actually kind of by chance! One of my lecturers had some friends who were looking to build an app for their company. Truth is, at this point I had not even had an Android phone for long but I jumped at the chance to build something for a real client. During this build, I pretty much fell in love with Android and quickly became fascinated in how portable and accessible things that you build would become. As soon as I started building that project, I knew this is how I wanted my start off my career.
For me, split screen in Android Studio has really helped my productivity when working on some projects. Whether it's during refactoring or working with a file and its corresponding tests, being able to display multiple files side-by-side removes the need to manually hop between them. Within Android Studio, you can do this by right-clicking on the tab for a file and selecting either "Split Horizontally" or "Split Vertically.” The selected file will then shift to a seperate section and you can work on that code at the same time as another file within a separate section.
Don't get too caught up in making things perfect or strictly following standards. When I started out building things privately or sharing things in the public, I felt I had to match up to these and was worried too much about making mistakes.
All learning is a journey, we will always make mistakes and that's where growth comes from! While things like that can be important, getting something tangible in your hands can be incredibly motivating - something that can be slowed down greatly if you get caught up here. It's still worth diving in deeper and learning how things work once you have something working, but it can be inspiring to get something built without getting caught up in too many of the details!
The Android Developer community prides itself in its inclusivity and welcomes developers from all backgrounds and stages of life. If you’re feeling inspired and want to learn more about how to become a part of our community, here are a few resources to help get you started.
Dive into developer.android.com
Follow us on Twitter
Subscribe to our YouTube channel
The Google Developer Groups program gives developers the opportunity to meet local developers with similar interests in technology. A GDG meetup event includes talks on a wide range of technical topics where you can learn new skills through hands-on workshops.
Join a chapter near you here.
Founded in 2014, Google’s Women Techmakers is dedicated to helping all women thrive in tech through community, visibility and resources. With a member base of over 100,000 women developers, we’re working with communities across the globe to build a world where all women can thrive in tech.
Become a member here.
The Google Developers Experts program is a global network of highly experienced technology experts, influencers and thought leaders who actively support developers, companies and tech communities by speaking at events, publishing content, and building innovative apps. Experts actively contribute to and support the developer and startup ecosystems around the world, helping them build and launch highly innovative apps.
Learn more about the program here.
Java is a registered trademark of Oracle and/or its affiliates.
Biswajeet Malik, Program Manager, Google Developers India
Google Developer Student Clubs recently hosted Android Study Jams, a collection of community-organized study groups, in 275 campuses across India. These study jams helped students build Android apps in the Kotlin programming language via a curriculum provided by Google.
These virtual events were attended by thousands of students in 250+ colleges and saw the creation of hundreds of new Android apps made with Kotlin. To celebrate all of this exciting work, we wanted to showcase some noteworthy apps built by the Android Study Jam session participants:
Developed by GDSC GMR Institute of Technology, Stumate is a place for students who are looking for a solution to store all of their files and notes in one organized place on their devices. This application also allows students to send notifications to their classmates about assignments while uploading notes in a PDF, Word Document or a Presentation.
The app uses the Material Design library for the front-end and Firebase as a backend. Some of the technical concepts used in the app include:
You can find this app on the Play Store here.
Ask Me Anonymously is a chat application developed by GDSC Chandigarh University where users can ask questions to one another without revealing their identity.
This app uses concepts that were taught in Android Study Jams such as:
The application also uses Firebase Realtime Database and Firebase Cloud Storage for implementing the above-said functionality, it also uses some other notable Firebase features such as Cloud Messaging and Firebase Dynamic Links.
Developed by GDSC Indian Institute of Information Technology, Lucknow, Travel Wise is an app that helps users find co-travellers in their journey, allowing you to share your journey and save money on travelling.
The app uses Google Firebase for authentication and Realtime Database for storage.
In today's digital age, our screen time has dramatically increased, making eyesight problems more common. GDSC Vidyavardhaka College of Engineering developed an Eye Tester app, which tells whether one should visit a doctor or not based on a simple digital eye test.
The app uses the concept 'toast' which makes the text appear for a short period and disappear, and 'random' which generates random numbers. The app is designed using Compose’s 'constraint-layout' which gives the flexibility to design the UI of the app efficiently.
GDSC Veermata Jijabai Technological Institute developed Taperback, a book and novel reading Android app. In Taperback, users can read from a large collection of free books collected manually from already publicly available online websites. Books from these sites are then later uploaded to the Firebase Firestore and Storage using a custom made Web Portal, along with other metadata of the books. New books are often added daily.
This app was created using Kotlin and XML. Some of the key concepts used are Kotlin Coroutines, navigation graphs, RecyclerView, WebView, SQLite, data caching, and more.
We want to thank all the Android Study Jam facilitators for hosting these sessions and for helping students develop these exciting Android apps with Kotlin.
The Google Developer Student Clubs Community in India is now bringing their enthusiasm to the 2021 Solution Challenge, where they’re building apps that serve their local community.
Ready to start learning Kotlin and building your own Android apps? If you’re a university student, join a Google Developer Student Club near you. If you’re a professional, find the right Google Developer Group for you.
Posted by Dave Burke, VP of Engineering
Google I/O 2021 is just a few weeks away and we’re looking forward to sharing all of the latest news in Android with you soon! To take us one step closer, today we’re sharing Developer Preview 3, the next milestone release of Android 12, for your testing and feedback.
In Android 12 we’re continuing to focus on making the OS smarter, easier to use, and better performing, with privacy and security at the core. We’re also working to give you new tools for building great experiences for users on phones, laptops, tablets, TVs, or cars. Some things to check out in today’s release include a new app launch experience, new video and camera capabilities to help you get more out of underlying hardware support, and a new permission for exact alarms to help users save battery.
Read on for more highlights and visit the Android 12 developer site for details and downloads for Pixel. If you’re already running a Developer Preview 2 build, watch for an over-the-air (OTA) update coming to you soon! As always, let us know what you think, and thanks for all of the feedback you’ve shared so far.
Today’s release includes new tools to help you deliver a polished experience and better performance for users. Here are some of the updates.
Improved app launch experience - In Android 12 we’re making app startup a more consistent and delightful experience. We’ve added a new app launch animation for all apps from the point of launch, a splash screen showing the app icon, and a transition to the app itself. The new experience brings standard design elements to every app launch, but we’ve also made it customizable so apps can maintain their unique branding. For example, you can use new splashscreen APIs and resources to manage the splash screen window’s background color; you can replace the static launcher icon with a custom icon or an animation; you can set light mode or dark mode; and you can control the timing to reveal the app in the exit animation.
There’s nothing you need to do to take advantage of the new experience - it’s enabled by default for all apps. We recommend testing your app with the new experience soon, especially if you’re already using a splash screen. To customize the experience, check out the new APIs and let us know what you think. More here.
New call notification template - Incoming and ongoing calls are important to users and they need to be easy to see and manage. In Android 12 we’re improving call notifications to give them more visibility and scannability, and improve their consistency with other notification components. If your app handles calls - such as a dialer app or chat app with video calling - you’ll want to try our new CallStyle template. You can use the template to create notifications for incoming, outgoing, and screened calls. Each type supports multiple actions, including default actions and custom actions that are specific to your app. You can also attach a large avatar image, provide text, and set button color hints. The OS gives CallStyle notifications high visibility, such as bringing them to the top of the notifications shade. More here.
CallStyle
New permission for exact alarms - Alarms are an important way for apps to schedule work. In most cases, apps should use inexact alarms, which have the advantage of being battery-friendly. Android manages these alarms to minimize wakeups and battery impacts, such as through Doze and App Standby. For cases where you need alarms with precise timing - for example alarm clocks and timers - you can use exact alarms instead. These are convenient and reliable, but they can also cause battery drain, especially when overused. So in Android 12, we’re making some changes to give users more control.
Apps targeting Android 12 that want to use exact alarms will now need to request a new permission, SCHEDULE_EXACT_ALARM. It’s a normal permission, so once you’ve declared it in your manifest, you’ll be automatically granted it at first startup. However, we’re also giving users visibility over the apps that have this permission and letting them grant and revoke it from Special App Access Permissions in Settings. If your app requires exact alarms, make sure you handle cases where it no longer has the permission. We’ve added a new API, canScheduleExactAlarms(), to let you check the permission status for your app. In general, we recommend migrating your apps away from uses of exact alarms wherever possible. More here.
SCHEDULE_EXACT_ALARM
canScheduleExactAlarms()
Improved web linking - In Android 12 we’re making some changes to help users get to their content faster and more seamlessly. First, we’ve changed the default handling of links that aren’t verified through Android App Links or manually approved for links by the user. Now the OS will directly open them in the default browser, rather than showing a chooser dialog. To make it easier for users to approve your app for links, we’ve added a new Intent that takes them to “Open by default” in Settings. If you want to ensure that only your app can handle links from your domain, you can use App Links. We’ve added new adb commands to help you configure and test your links. More here.
adb
Rich haptic experiences - We’re expanding the tools we offer for creating informative haptic feedback for UI events, immersive and delightful effects for gaming, and attentional haptics for productivity. We’ve added expressive effects like low tick that take advantage of the broader frequency bandwidth of the latest actuators. Game developers can now access multiple, different actuators independently in game controllers to deliver the same effect synchronously or different haptic effects on multiple actuators. For developers, we recommend using the constants and primitives as building blocks for rich haptic effects - constants to enhance UI events and haptic composer to sequence primitives for more complex effects. You can try these APIs to the fullest on Pixel 4 devices today, and we’re continuing to work with our device-maker partners to bring the latest in haptics support to users across the ecosystem.
Video encoding improvements - Android 12 standardizes the set of keys for controlling the range of the video Quantization Parameters (QP), allowing developers to avoid vendor-specific code. The new keys are available in the MediaFormat API and also in the NDK Media library. Video encoders must specify a minimum video quality threshold to ensure that users don't experience extremely low quality when videos are complex.
Camera2 vendor extensions - Many of our device manufacturer partners have built custom camera effects—such as bokeh, HDR, night mode, and others—that they want apps to use to create differentiated experiences on their devices. We’ve already supported these custom effects through a set of vendor extensions in our CameraX library, and now in Android 12 we’re exposing the vendor extensions directly in the platform as well. This helps apps that have complex Camera2 implementations to take advantage of the extensions without having to make significant changes to legacy code. The extension APIs expose exactly the same set of effects as in CameraX, and those are already supported on many different devices, so you can use them right out of the box. More here.
Camera2
Quad bayer camera sensor support - Many Android devices today ship with ultra high-resolution camera sensors, typically with Quad / Nona Bayer patterns, and these offer great flexibility in terms of image quality and low-light performance. In Android 12, we’re introducing new platform APIs that let third-party apps take full advantage of these versatile sensors. The new APIs support the unique behavior of these sensors and take into account that they might support different stream configurations and combinations when operating in full resolution or ‘maximum resolution’ mode vs ‘default’ mode.
Faster machine learning - In Android 12, we invested in key areas so that developers can make the most of ML accelerators and always get the best possible performance through the Neural Networks API. In terms of performance improvements - we have more than halved inference call overhead by introducing improvements such as padding, sync fences and reusable execution objects. We’ve also made ML accelerator drivers updatable outside of platform releases, through Google Play services. This will make it easier for developers to take advantage of the latest drivers on any compatible device, and make sure that ML performance improvements and bug fixes reach users faster than ever before.
Standardizing GPU compute - We are deprecating the RenderScript APIs in favor of cross-platform GPU compute solutions such as Vulkan and OpenGL. We want you to have confidence that your high-performance workloads will run on GPU hardware, and many devices are already shipping with only CPU support for RenderScript. The existing APIs will continue to work for the time-being, and we've open-sourced a library for RenderScript intrinsics such as blur that uses the highly-optimized intrinsics platform code. Samples and a migration guide for using Vulkan to implement image processing are also available. More here.
Better debugging for native crashes - You've told us that debugging NDK-related crashes can be challenging. We’re making this easier in Android 12 by giving you more actionable diagnostics. In the platform, we use crash dump files called tombstones to debug our native crashes, and they contain the information required to diagnose a variety of issues; this includes unwinding through ART, integrating with fdsan, and recording all the stacks involved in a GWP-ASan, HWASan, or MTE crash. Now we’re giving your app access to its tombstone files through the App Exit Reasons API. When your app uses `ApplicationExitInfo` with `REASON_CRASH_NATIVE`, you can now call `getTraceInputStream()` to get the tombstone data as a protocol buffer.
More-flexible backup configurations - Android’s backup service lets users restore or migrate their data to a new device effortlessly. Apps are central to the experience, enabling users to easily transfer app data and continue where they left off. The backup service supports both cloud backups to Google Drive and device-to-device transfers, and developers can take advantage of these with minimal changes in their apps. For apps targeting Android 12, we’re improving the service to give you more flexibility and control. We’ve updated the XML configuration format so you can now set different rules for cloud backups and device-to-device transfers. With this, for example, you could exclude a large file from cloud backups but include it in device-to-device transfers. You can also set encryption requirements separately for backups or transfers. Last, if you’d like to opt-out of Auto Backup for device-to-device transfers, please use the new configuration format instead of the allowBackup manifest attribute. More here.
allowBackup
You can read more about all of the Android 12 features and behavior changes here.
We’re working to make updates faster and smoother by prioritizing app compatibility as we roll out new platform versions. In Android 12, we’ve made most app-facing changes opt-in to give you more time, and we’ve updated our tools and processes to help you get ready sooner.
With Developer Preview 3, we’re moving closer to our first Beta release as we continue to improve stability. Now is the time to try the new features and changes and let us know how these work with your apps. Please visit the feedback page to share your thoughts with us or report issues.
With the first Beta coming soon, it’s time to start your compatibility testing to make sure your app is ready. We recommend releasing a compatible update over the next few weeks. There’s no need to change your app’s targetSdkVersion at this time, although you can use the behavior change toggles to get a preliminary idea of how your app might be affected by opt-in changes in Android 12.
targetSdkVersion
As we reach Platform Stability in August 2021, all of the app-facing system behaviors, SDK/NDK APIs, and non-SDK lists will be finalized. At that point, you can finish up your final compatibility testing and release a fully compatible version of your app, SDK, or library. More on the timeline for developers is here.
App compatibility toggles in Developer Options.
Today’s Developer Preview has everything you need to try the Android 12 features, test your apps, and give us feedback. You can get started today by flashing a device system image to a Pixel 3 / 3 XL, Pixel 3a / 3a XL, Pixel 4 / 4 XL, Pixel 4a / 4a 5G, or Pixel 5 device or using the Android Emulator. If you’ve already installed a preview build to your Pixel device, you’ll automatically get this update and future Beta updates over-the-air. More details on how to get Android 12 are here.
For complete information, visit the Android 12 developer site.
Posted by Dan Galpin, Developer Advocate
We introduced RenderScript in Android 3.0 as a way for applications to run computationally-intensive code on the CPU or GPU without having to make use of the NDK or GPU-specific APIs. As Android has evolved, the NDK tooling and APIs for GPU compute using OpenGL have dramatically improved. In Android 7.0 (API level 24), we added the Vulkan API, which allows for low-level access to GPU hardware features. In Android 10.0 (API level 29) we added the capability to easily share Bitmap hardware buffers between Android SDK and NDK code to speed image processing.
We no longer recommend RenderScript as the optimal way to accomplish these performance-critical tasks, and will be deprecating the APIs in Android 12. We want you to have confidence that your high-performance workloads will run on GPU hardware, and many devices are already shipping with only CPU support for RenderScript. The APIs will continue to function, but compiling RenderScript code when targeting Android 12 will give a warning.
The RenderScript subsystem was also used to implement a number of useful image-processing intrinsics. We're providing an open-source library that contains the highly-tuned CPU implementations for all but the Basic Linear Algebra Subprograms (BLAS) intrinsics. For the cases that we have measured, intrinsics execute faster (often substantially so) on the CPU using our library than running within RenderScript, even on devices where GPU support was possible.
For BLAS, we suggest using one of the many libraries that already provide this functionality, such as netlib’s libblas.
Please file issues with the library here.
To take full advantage of GPU acceleration, we recommend migrating RenderScript scripts to the cross-platform Vulkan API. To help get you started with this transition, we have provided a sample app that demonstrates two RenderScript scripts with Vulkan equivalents.
Because Vulkan is not available on older devices, you may need to manage two code paths: RenderScript on older devices and Vulkan on newer ones. Our documentation has more details on how to migrate.
You can file issues with the sample here.
We on the RenderScript team thank you for your support over the years. We understand that transitions are never easy; our focus on cross-platform APIs such as Vulkan will mean even better tools and support for your GPU-accelerated applications.
Posted by Eugene Liderman, Director, Android Security Strategy and Brooke Davis, Android Security & Privacy Partnerships
With all of the challenges from this past year, users have become increasingly dependent on their mobile devices to create fitness routines, stay connected with loved ones, work remotely, and order things like groceries with ease. According to eMarketer, in 2020 users spent over three and a half hours per day using mobile apps. With so much time spent on mobile devices, ensuring the safety of mobile apps is more important than ever. Despite the importance of digital security, there isn’t a consistent industry standard for assessing mobile apps. Existing guidelines tend to be either too lightweight or too onerous for the average developer, and lack a compliance arm. That’s why we're excited to share ioXt’s announcement of a new Mobile Application Profile which provides a set of security and privacy requirements with defined acceptance criteria which developers can certify their apps against.
Over 20 industry stakeholders, including Google, Amazon, and a number of certified labs such as NCC Group and Dekra, as well as automated mobile app security testing vendors like NowSecure collaborated to develop this new security standard for mobile apps. We’ve seen early interest from Internet of Things (IoT) and virtual private network (VPN) developers, however the standard is appropriate for any cloud connected service such as social, messaging, fitness, or productivity apps.
The Internet of Secure Things Alliance (ioXt) manages a security compliance assessment program for connected devices. ioXt has over 300 members across various industries, including Google, Amazon, Facebook, T-Mobile, Comcast, Zigbee Alliance, Z-Wave Alliance, Legrand, Resideo, Schneider Electric, and many others. With so many companies involved, ioXt covers a wide range of device types, including smart lighting, smart speakers, and webcams, and since most smart devices are managed through apps, they have expanded coverage to include mobile apps with the launch of this profile.
The ioXt Mobile Application Profile provides a minimum set of commercial best practices for all cloud connected apps running on mobile devices. This security baseline helps mitigate against common threats and reduces the probability of significant vulnerabilities. The profile leverages existing standards and principles set forth by OWASP MASVS and the VPN Trust Initiative, and allows developers to differentiate security capabilities around cryptography, authentication, network security, and vulnerability disclosure program quality. The profile also provides a framework to evaluate app category specific requirements which may be applied based on the features contained in the app. For example, an IoT app only needs to certify under the Mobile Application profile, whereas a VPN app must comply with the Mobile Application profile, plus the VPN extension.
Certification allows developers to demonstrate product safety and we’re excited about the opportunity for this standard to push the industry forward. We observed that app developers were very quick to resolve any issues that were identified during their blackbox evaluations against this new standard, oftentimes with turnarounds in a matter of days. At launch, the following apps have been certified: Comcast, ExpressVPN, GreenMAX, Hubspace, McAfee Innovations, NordVPN, OpenVPN for Android, Private Internet Access, VPN Private, as well as the Google One app, including VPN by Google One.
We look forward to seeing adoption of the standard grow over time and for those app developers that are already investing in security best practices to be able to highlight their efforts. The standard also serves as a guiding light to inspire more developers to invest in mobile app security. If you are interested in learning more about the ioXt Alliance and how to get your app certified, visit https://compliance.ioxtalliance.org/sign-up and check out Android’s guidelines for building secure apps here.
Posted by Tom Grinsted, Product Manager, Google Play
Google Play Console metrics can help you understand your app’s performance across growth and acquisition, engagement and monetization, quality, and churn. But with dozens of metrics — and thousands of variations — we know not every metric is relevant to every person. One of the challenges you’ve shared with us is that it can sometimes be difficult to find exactly the metrics that you need for your personal job role, and to access them quickly and regularly once you have found them. .
That’s why today, we’re pleased to announce that you can now customize and pin the precise metrics that matter to you in a personalized KPIs section at the top of your app dashboard. These customizations are unique to you, so you can configure your KPIs however you want without affecting the rest of your team.
Getting started is easy. On the dashboard for any app, scroll down to the KPI section and select “choose KPIs.” You can either build your own or start with suggested KPIs for job specialities, such as Growth, Quality and Health, or Monetization.
There’s an extensive list of available metrics, including our new engagement data and peer comparisons. Search filters make it easy to find just what you want, and once selected you can edit the dimensions and filters to suit your exact needs. For instance, you could display Daily Active Users for your top-five languages; or if you’re a country manager, only show revenue from a specific country or territory.
You can name any of your KPIs to make them easy to remember, and even include emojis!
🤯
Once you’ve configured a list of KPIs that suit you, you can order them to control where they appear. This way, you can make sure that your most important metrics are always first to be seen.
You can include up to 20 KPIs, so your dashboard can be as robust or as streamlined as you want.
In addition to our suggested metrics, you can also pin any other dashboard card to your KPIs. For even finer control, you can even add any reports you’ve saved from the Statistics page. This allows you to create hyper-specific custom KPI cards from any of our core metrics.
There are as many ways to customize your KPIs as there are people using the console. Instead of seeing default KPIs, now everyone can have a customized dashboard showing exactly the metrics that matter to their individual workflows.
Ready to see for yourself? Just log into Google Play Console to try it out.
How useful did you find this blog post?
★ ★ ★ ★ ★
Posted by Lisa Martinez, Head of Security & Privacy Business Development, Google Play and Andrew Ahn, Product Manager, Play and Android App Safety
Google helps protect billions of users every day through the use of a robust set of tools designed to keep users safe online. We’re proud to provide a wide range of these same resources to help developers build safe and successful apps. User participation increases when people have a safe and positive app engagement. We’d like to highlight a few of these free tools that developers can consider to help make user experiences safer for everyone.
Reducing toxic conversation with Perspective API
Perspective API, a free product offered by Jigsaw, uses machine learning to identify toxic language, like insults, profanity, or identity based attacks, making it easier to host healthier conversations in your apps. Perspective can be used to give feedback to commenters, help moderators more easily review comments, and keep conversations open online. Many online publishers and developers, such as the New York Times, El País, FACEIT, and Coral by VoxMedia have started to adopt this tool to promote constructive online dialogues. Learn how to get started here.
Increase child safety with Content Safety API
Google’s Content Safety API uses artificial intelligence to help developers better prioritize abuse material for review. We offer this service to NGOs and private companies to support their work protecting children. The API steps up the fight for child safety by prioritizing potentially illegal content for human review and helping reviewers find and report content faster. Quicker identification of new abuse images increases the likelihood that children being abused could be identified and protected from further abuse. Making review queues more efficient and less noisy also reduces the toll on human reviewers, who review images to confirm instances of abuse. Learn more about this on our Protecting Children site.
Prevent links to unsafe files and sites with the Safe Browsing API
Google Safe Browsing helps protect billions of devices every day by showing warnings to users when they attempt to navigate to dangerous sites or download dangerous files. Safe Browsing also notifies webmasters when their websites are compromised by malicious actors. Safe Browsing protections work across Google products and power safer browsing experiences across the Internet. Technical information on how to get started can be found here.
Thank you for continuing to partner with us to provide a positive experience for our shared users on Google Play.
Posted by Eric Bahna, Product Manager
In March, we published the Android for Cars App Library as part of Jetpack and most developers have already migrated their implementations to it! In addition to fantastic partner adoption, drivers have been enthusiastic about the new apps and our quality metrics have been positive.
Partner apps running on the Jetpack library (clockwise from upper left): T map, Chargepoint, Sygic, PlugShare, AmiGO, 2GIS, A Better Route Planner, and Flitsmeister
Today, we’re thrilled to announce that you can publish your Android Auto navigation, parking, and charging apps to production! We’ve been hard at work stabilizing the library, Android Auto, and the publishing process to reach this milestone. Publishing to production enables drivers to use your Android Auto app on their car screen without needing to sign up for a beta program. Here’s how:
Thank you for your collaboration and feedback on the Android for Cars App Library 1.0! One of the most common requests from Android Auto users has been for more categories of apps. Our goal with the library is to enable you to easily bring your app to 500+ models of Android Auto-compatible vehicles while meeting our app quality guidelines. The library abstracts away the complexities of screen form factors and input modes so you can focus on what makes your app shine.
Enabling navigation, parking, and charging apps in production is both a big step and the start of a much longer journey. We’re excited to see what you build and look forward to working together to deliver awesome in-car experiences.
Posted by Caren Chang, Developer Relations Engineer
In case you missed it, we’ve just finished a MAD Skills series on WorkManager. We started by introducing WorkManager for those new to the library and then proceeded to talk more about advanced usages including how to test and debug your WorkManager code. The series ended with an episode on how to migrate your old code from GCMNetworkManager and FirebaseJobDispatcher to use WorkManager instead.
Here’s a quick summary of what we covered.
In our first episode, we explored the basics of WorkManager through the WorkManager codelab. We started by understanding how to define work we want done, and how to schedule the work. We then moved on to implementing different types of work: unique and periodic. Finally, we ended the episode by taking a look at app standby buckets to better understand how WorkManager schedules work.
If you’re new to WorkManager, we also recommend taking a look at the following articles:
The series continued with Ben giving a more in-depth look at how WorkManager deals with multi-threading. When working with threads, you have the option of using Executors, coroutines or RxJava, and Ben demonstrated each of these approaches with WorkManager. The episode concluded by demonstrating how to return a result when the work is completed so that the UI can be updated.
In episode 3, we took a look at how to customize the initialization of WorkManager and support apps that span multiple processes. We’ve gotten a lot of questions from developers around testing and debugging, so Ben also dove into how to test your Workers, and useful debugging techniques.
In episode 4, we focused on how to migrate from old job scheduling libraries (GCMNetworkManager and FirebaseJobDispatcher) to WorkManager. Once your app starts targeting API level 30 and above, GCM NetworkManager and FirebaseJobDispatcher will no longer work on devices running Android Marshmallow (6.0) and above. If your app is still using either of those libraries, now is the time to update your apps to use WorkManager instead!
Android GDE Hugo Visser talked about why he chose to use WorkManager in a health app he recently worked on and how the library has helped his development process.
The series wrapped up with a live Q&A session where we answered your WorkManager related questions. Watch the recording to see all your questions answered, including future plans for WorkManager, handling duplicate work, retrying failed work, and more!