Accidental policy violations. It happens to the best of us. You don't know what you did wrong, but Google took down your app nonetheless after an update while providing only a vague explanation on what you did wrong and what you can do to fix it. Sometimes, this will be an error, but other times, Google had a reason to—even if you don't know what that reason is or if you didn't know that was against their terms. Fortunately, Google is putting forward new tools in Google Play Console to try and prevent that from happening.

During the "New tools to help you build safer apps on Google Play" talk at Google I/O 2021, Google unveiled a handful of upcoming changes to the Play Console that will help developers make changes to their app before their app is removed for a policy violation.

First, the "policy status" page under the "policy and programs" section in the Google Play Console will soon give you warnings about potential policy violations and information about how to fix them before any enforcement actions are taken (but only for specific types of policy violations that Google hasn't specified).

Google Play Console Slide

Second, Google is finally working to lower the number of app removals caused not by policy violations of the app itself but by things the SDKs it uses do. Third-party SDKs are incredibly prevalent in apps, and Google says that the majority of the average app's code consists of code from an SDK rather than proprietary code. However, even if the app doesn't own the SDK's code, Google Play still holds the developer responsible for what that code does. Most app developers don't have the resources or tools to audit all the SDKs they use, so that's why Google is now working with the providers of popular SDKs to make them safer.

Google Play Console SDK AppsFlyer AppLovin Mopub Branch

The Google Play SDK Console early access program launched last year with partners like AppsFlyer, AppLovin, mopub, and branch, and Google is now launching a front-end for the SDK Console that lets SDK providers register and manage their SDKs, report issues with their SDKs, and see usage stats and crash reporting. This establishes a direct line of communication between Google, the SDK provider, and the app developer, so Google can provide guidance on SDK issues based on reports by the provider.

When there's an issue, developers can get warnings in the Google Play Console about unsupported or non-compliant versions of the SDKs they're using, giving them a chance to make changes before any action is taken against their app. This can only be done, however, if an app developer shares their library dependencies with Google. Apps using the Android App Bundle (AAB) format (which will soon be required for all apps on Google Play) will automatically have their library dependencies be shared. Apps built as APKs will also automatically have their library dependencies be shared starting from Android Gradle Plugin 4.0, but developers can opt-out of sharing their library dependencies.

What do you think about these changes?