This week we got an email from Google about our demo game Adventure Text that we had released to the public ten or so days before on the Google Play Store.
The game was removed from the Play Store with this email being the only notification after the fact. The public couldn’t see it, couldn’t search for it, and any live links from promotional material wouldn’t connect through to it. If this was a commercial product or even one that I had a vested interest in it would have been a small disaster. Those first few days of a game release are critical for generating user interest.
The reason that the app was removed was because we had included the Unity plugins for Analytics and Advertising in the packages that it was compiled with. Our app is a demo of a Text Adventure framework we built as a side project and we did not use either of these packages. They were included in our base build of the project by default even though we had the Enable Analytics switch turned off when we created the project.
One or both of these packages was capturing either user data or Android Advertiser ID’s in the background. Because we were not actively using the packages and did not capture any user data as part of our application we were kind of stumped. We did a bit of Google Foo and found that a common source was the Unity packages for Analytics and Monetization. Here they are in the project folder (below) – was kind of obvious once you look but since we weren’t using them in any of our code I figured they would not be included in the final package (just like unused assets). Wrong!
Google Play requires developers to provide a valid Privacy Policy when the app requests or handles sensitive user or device information. If they identify that your app collects and transmits the User Data or the Android Advertising Identifier then you must provide a valid Privacy Policy in both the designated field in the Play Console, and from within the app.
You can read more about the Google Play policies for Privacy in the Developer Policy Center (see Advertising and User Data Privacy). There is also more information available in the Google Play Developer Distribution Agreement.
In our case it wasn’t a big thing. We had just released a demo game for fun not for profit. But if you were going for a monetized app (and hey why not) you do need to use a valid Privacy Policy both somewhere available on the internet and also from within the application.
This was a game made in a week. There was no way we were adding another button for a privacy policy we didn’t really need. We took the offending packages out of the project in Unity (Window -> Package Manager) by using that little “Remove” button there in the top right hand corner:
We rebuilt the game and uploaded another release to the Developer Console and in a few hours the app was again available on the Google Play Store. Phew. Cool. Problem solved.
But what if we really wanted these packages? What would we have to do? Well first we needed a Privacy Policy. There were some pro-forma one’s available on the interwebs that might have been appropriate. I found several forum threads where other people had had this problem and used this site to generate one: here
I cannot endorse or even suggest that it’s a good idea to grab something off the internet that is a legally binding policy so please do your research on this subject before you leap into it.
Once you get your policy in place it needs to go somewhere on your web site so that it’s publicly available.
It also needs to be available in your Google Play Store Listing. If we wanted to use one it would go down the bottom in the Google Play Developer Console:
Finally you would need a mechanism in your game or app that allows users to easily find and see your Privacy Policy from within your game.
People’s privacy and the data you collect from your applications and games is an important topic. Both ethically and practically.
It’s kind of a dummy mistake to get caught out by this one. Don’t let it be you! Be aware that the default project settings in Unity (at least in the 2018 build) include packages that collect user data and that if you include these packages you need to have a Privacy Policy.
Maybe even if you didn’t include these packages it would be a good idea to have one anyway. It’s totally ok for app developers to gather information that’s going to enable them to make a better product and I think most game developers include either analytics and advertising in their games. It’s unfortunate that Unity includes these packages in the default project build without really making the end user aware of it but if you look it’s plain to see. Also if you are informed and have read all the Google Play Store policies that are there to protect everyone then it shouldn’t be too hard to put it all together.
Zulu out.
5 responses to “Violation of Usage of Android Advertising ID policy and section 4.8 of the Developer Distribution Agreement”
Again. Another email from Google telling me I’ve violated the Adroid ID policy. ” We’ve identified that your app collects and transmits the Android advertising identifier, which is subject to a privacy policy requirement. If your app collects the Android advertising ID, you must provide a valid privacy policy in both the designated field in the Play Console, and from within the app.” This time I’ve completely stripped out Unity Analytics as well as confirming anything Ad related was already gone…pray and hope.
OK. This is a little embarrassing but my App Text Adventure has been removed from the Google Play Store again as apparently the app collects and transmits the Android advertising identifier, which is subject to a privacy policy requirement. I’ve lodged an appeal with Google and will update in a few days on how that goes.
Another update! I have removed all third party and Unity additional packages so that my build is basically just what you get when you open a fresh project with in Unity with no “extras”. My game just got turfed from the Play Store for a third time after even this most basic build. So the use of the Android ID is part of the base packages – you cannot remove this function yourself without a bit of support from Unity 🙂
This seems to have become a problem for a lot of people. This DevLog has been getting between 20 and 40 hits a day under this title for the last month since I published it. There has also been a lot of action and discussion on the net (see these links below).
https://forum.unity.com/threads/google-play-violation-of-advertising-id.558010/
https://www.reddit.com/r/androiddev/comments/9iymbc/app_removed_due_violation_of_usage_of_android/
https://medium.com/@touzi.farouk/apps-violates-the-android-advertising-id-policy-891a4701b023
I’m going to put up a privacy policy on my website and resubmit without any changes and see if that works.
I’m really interested to see what the Unity Forum comes up with.
Hi Zulu OneZero,
I’d be interested if putting up the privacy policy on your website and including it the required areas worked?
Justin of JustinTime Studio @ Unity3d.Expert
Hi Justin. Yes that seems to have worked. It’s been three months now and I have not had the Game rejected again. I updated the Privacy Policy on the web site (http://localhost/privacy-policy/) and added it into the store listing in the Google Play Developer Console. I did not update anything in the App or include the privacy policy or any links to the policy in the build. Fingers crossed. 🙂