The AppBrain SDK and Google Play policy changes

Mathijs Vogelzang
AppBrain
Published in
4 min readMay 1, 2020

TL;DR: Google updated its Google Play policies and we updated the AppBrain SDK to be fully compliant with the policies. Apps with older SDK versions need to upgrade to version 16.00 or later before June 28.

(Edit: the enforcement date was originally May 29th, but we discussed with Google to extend this to June 28th)

On April 16th, Google updated its Google Play policies and among many changes it added more restrictions on apps violating user’s privacy, or being able to do so. The policy describes how “An app (…) can be Potentially Harmful, and therefore can generate malicious behavior, even if [it] wasn’t intended to be harmful” (source).

We highly value user privacy and welcome this change by Google, and we worked together with Google to make sure the AppBrain SDK is fully compliant. Unfortunately, some functionality in older versions of the AppBrain SDK (before version 16.00) could theoretically be used to harm users’ privacy, even though it was not intended for that purpose or used in that way. Google has reviewed and approved our SDK from version 16.00 onward. You can read the specific technical details in a section further down.

Further steps

We ask all our publishers to upgrade to version 16 or later as soon as possible and do so before June 28th 2020. From that point on, Google Play may start removing apps temporarily until they are upgraded to the latest AppBrain SDK version. Note that this temporary app ‘removal’ does not count as a strike against your developer account, it will only remove the app until you upload an upgraded version.

Benefit to you for upgrading

We understand that upgrading and releasing an app update requires additional effort. We’ve decided to double the payout of the SDK earnings for all of May for any requests coming from the upgraded SDK version. So if you upgrade your app early, you’ll maximally profit from having many double-paying ad impressions. This deal applies to all apps, also new apps that didn’t have the SDK before!

We also increase the conversion bonus of your earnings that you use for app promotion from 10% to 25%. This means that if you convert e.g. $100 from your earnings to your promotion budget on AppBrain, we’ll give you another $25 bonus instead of $10.

Please contact us at contact@appbrain.com if you have any questions.

Technical details

The AppBrain appwall ad unit is implemented as a WebView which loads HTML and javascript from AppBrain servers to show the ad. To interface with the Android device, the AppBrain SDK installs some methods in the WebView that are available to JavaScript, a so-called JavaScriptInterface.

Our javascript can use a method called “isPackageInstalled” that checks whether an app is installed. This method is called for ads on the appwall and then used to hide any ads for apps that are already installed.

However, this javascript method could be misused to gather the install status of very many apps and send that off to a server, violating the users’ privacy. This could happen by our servers sending different javascript on the appwall page. (It can’t easily be misused by others, as the appwall WebView only loads code from AppBrain servers). We removed this method from our javascript interface so that this theoretical privacy issue is gone.

FAQ

What do I need to do to upgrade my AppBrain SDK version?

This depends a bit on your setup.

  • If you use our default recommended setup from https://www.appbrain.com/info/help/sdk/gettingstarted.html where you have implementation com.appbrain:appbrain-sdk:+ in your gradle file, you will always have the latest SDK version.
  • If you use gradle with a fixed version, then make sure that you have implementation com.appbrain:appbrain-sdk:16.03 or later.
  • If you have manually downloaded our jar file from github and imported it into e.g. the ‘libs/’ folder of your project, then download a new version from https://github.com/swisscodemonkeys/appbrain-sdk
  • If you use Andromo for building your app you’ll have to wait for the Andromo team to launch an update with the newest SDK version. We’ve been in contact with them.

In all cases, build the new version of your app and upload it in the Google Play console and publish it to your users.

Will Google close down my developer account because of this?

No. If you upgrade the SDK there will be no change. If for some reason you do not upgrade before the deadline, then Google will unpublish your app temporarily and you can publish it again with the updated AppBrain SDK. On https://support.google.com/googleplay/android-developer/answer/2477981?hl=en a removal is described as “[Removals] don’t immediately impact the standing of your Google Play Developer account, although multiple removals may result in a suspension.”

How do I know that I’ve upgraded successfully?

In the AppBrain dashboard “Publisher apps” overview, you can see an icon next to your app’s name that indicates whether we’re seeing requests come in from the latest SDK version:

Blob Connect is properly upgraded, Word Finder is still outdated.

The green checkmark means that your app is sending requests using the latest SDK. The red warning sign (or an orange exclamation mark) means that most of the requests are still from an older SDK version. Note that it may take up to 24 hours after you upload your app to Google Play for enough upgrades to happen so that our indicator status changes.

With the green checkmark you know you’re in compliance.

Please contact us at contact@appbrain.com if you have any questions.

--

--

Mathijs Vogelzang
AppBrain

Building the top Android CPI network, AppTornado, AppBrain, Swiss Codemonkey