Google play Violation of Advertising ID

If you read the privacy policy, specifically the part “I play a game built with Unity software, what should I know?”, you will notice that the first paragraph talks about a whole bunch of stuff Unity collects, and then the second paragraph it talks about what gets collected when Analytics and Ads are enabled.

Which is making me think that some collection happens regardless of the setting of those options.

So, this is truly bizarre on Google’s end.

I’ve been working hard the past few days trying to update the app they complained about. I have a new version that uses the Unity Privacy plugin and I pop that up for users right when they start their very first game and I also provide access through my Settings panel.

I also updated my Unity IAP library from v1.18 to v1.22 - after I fully test IAP on an app I don’t like to update the library any more.

Submitted it as a beta version and was planning on running full IAP tests as well as tests on the privacy stuff before releasing it to everyone.

A half hour ago I completed tests on the Privacy portion but wasn’t able to test IAP because I have already purchased all of my app’s normal IAPs and Google auto restores all purchases when you reinstall. So I need to create a dummy IAP and upload a new test version to finish my tests to verify that Unity IAP 1.22 works with my old IAP code.

I just logged on to Google Play to create my dummy test IAP and my app has been put back on the store. I still do not have a Privacy Policy in my store listing and I have not uploaded a new version to customers. I’m back to normal - after having being blacklisted for 2 weeks - as if nothing had happened.

I got a pretty good idea that it was the Advertising Plugin as Google’s mail identified that the app collects the Ad ID (but you’re right I can only assume that’s going to be either Analytics or Advertising). At least I know for certain it wasn’t my code :slight_smile: So in the end I made no changes to my App and just put a link to my “new” privacy policy on the website and updated the Play Store link. That seems to have sorted the issue.

Yeah, they flagged the Advertising ID for me too but I don’t use advertising.

It’s really not clear what is happening. As I mentioned in my previous message, Google put my app back on the store after I submitted a new beta version and still having a blank privacy policy and still pulling in the Advertising ID. I should have tried deleting my new beta right after I saw that to see if they would pull my app off again.

I have a feeling they are going to be coming down heavy on this stuff fairly soon, but they’re not quite ready yet. This all looks like little snippets of half baked logic on their end kicking in as if they’re only running tests at the moment.

Glad you got it sorted.

My app too was removed. Just using IAP and got removed.
Please let us know what we should do.

This is being discussed here Update your privacy policy - Google removing games from store

I wrote to unity and got this reply

Hi Tim,

You are not the only developer to have recently encountered this issue. Unfortunately, based on the experiences of other developers, we have not isolated the root cause for Google’s actions. When Unity asked Google what was up with this, they responded “Inconsistent enforcement is unfortunately an outcome of managing a store of Play’s vastness at scale. So I’m afraid I can’t help give clarity there.” So, we’re still guessing, but at this point the issue seems procedural and not anything wrong with Unity coding or developer coding.

Some users have found success by adding a link to their own privacy policy (or someone else’s privacy policy) in the appropriate privacy policy box when resubmitting to Play. However, some users have done nothing and seen their apps reappear in the store. Here are two forum threads where other users are discussing their experiences and solutions:
__ Google play Violation of Advertising ID __
__ Update your privacy policy - Google removing games from store __

To answer your question, Unity’s Data Privacy plugin is needed if you’ve implemented Unity Analytics, IAP, or Ads. So, if you have Analytics implemented, then yes, please also implement the data privacy package. However, developers have not reported to us that the data privacy plugin (or lack thereof) was related to Google’s Section 4.8 removals.

Let me know if you have any additional questions.

2 Likes

SO if we dont want Ads, Analytics or IAP how can we remove them from Unity to potentially skirt around this issse ?

Or is the Privacy Policy just the blanket way atm to fix this.?

Mine just got pulled 24 hours after being live and it uses GPS and a data connection (its a map based thing) but it has zero IAP, Ads or anything.

I just emailed Google for an answer in plane English, if I get a reply ill post it

1 Like

Thanks. Would be very interested in the response…

What I did yesterday:

  • I literally went and turned of Unity Analytics as it WAS switched to on.

  • Did a rebuild with a new version number and made the .apk

  • Uploaded it to Play Console

  • Made a privacy policy from the free online tool -https://app-privacy-policy-generator.firebaseapp.com/# and put it on my website and linked to it in the console (but not inside the app although some of the descriptions around what data i use - gps and what i do not are including in the info panel anyway in a nice list)

  • Resubmit.

Its back live. Ill see if it last longer than 24 hours…

3 Likes

This is still an issue 2019.1.4f1. I just had an app rejected. I filed a bug report (for all the good it will do). My app has no interactions at all, it is a simple piece of virtual art. I was using a time honored practice of building release in a fresh install, and virgin project.
The problem I have is that The dependency manager should remove all code that is not being used in an app. In other words, release builds are not “release” and still have untested, & unused code. creating opportunities for security violations, & trojan. Google, or Apple could simply decide one day that all apps made with Unity are a security risk and take 'em all down.
and for posterity:

Hi developers at Smooth Curves Interactive,

After review, Diagnosis, com.SmoothCurvesInteractive.DiagnosisVR, has been removed from Google Play due to a policy violation. This app won’t be available to users until you submit a compliant update.

Issue: Violation of Usage of Android Advertising ID policy and section 4.8 of the Developer Distribution Agreement

Google Play requires developers to provide a valid privacy policy when the app requests or handles sensitive user or device information. 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.

Next steps: Submit your app for another review

Alternatively, you may opt-out of this requirement by removing any requests for sensitive permissions or user data.

If approved, your app will again be available with all installs, ratings, and reviews intact.

If you’ve reviewed the policy and feel this removal may have been in error, please reach out to our policy support team. One of my colleagues will get back to you within 2 business days.

Thanks for helping us provide a clear and transparent experience for Google Play users.

Regards,

The Google Play Team


1 Like

Two days ago one of my apps got removed due to the same violation, that game was made with Unity5.5. I had to reinstall 5.5 in order to open my game correctly. My game never collects any data, or needs any special permission or access at all, and I deleted anything that’s not essential to the gameplay, resumbitted the app to Google Play. A day later, I got an email saying my app has been reviewed and approved. I was relief, even though I have no clue what the problem really was.

But happiness did not last. Two hours later another app of mine got removed, I got the same violation email from Google. And then several hours later, the previous re-approved app is removed again, and I once again received that exact same email. This is frustrating, does not make any sense. If there is a war currently between Google and Unity, please do tell, I mean… seriously, my games have been on Google Play for years, and now they are kicking us out like this.

1 Like

This is bad. It feels like having a huge sword of Damocles on your head. What if an old client’s application get removed and he thinks its your fault and wants you to do all this updating for free after years? It’s getting ridicolus and extremely unprofessional.

Same here, got a 2-5M downloads app with 4.7 rating removed with NO warning at all.
“Issue: Violation of Usage of Android Advertising ID policy and section 4.8 of the Developer Distribution Agreement”

Free, no ads, nothing. On-request GPS anonymous tracking for unlocking extra features when nearby certain areas.

My guess is that before publishing someone enabled back the Crashlytics module and analytics as per test builds. Yet, no “sensible” info got collected during playtest, only anonymous data to track play time, scene changes, interactions, etc.

Could it be the reason, @JeffDUnity3D ?

Now the company is panicking since, in turn, it is a client for a public national structure.

Any clue?

Hello all, I wanted to update you all on a solution that worked for me, and has continued to work so far.

My app was removed from the Google Play Store for similar problems and violations as you all have seen, and I have come across a solution that works because I have no ads, I do not monetize the app using ads, and I do not use Unity Analytics in the app whatsoever.

I did NOT include a privacy statement because I no longer need one, since I am not collecting any data at all. No analytics, no ads, no data collection of any kind.

After doing quite a bit of research, it appears that my problem was that Unity Analytics was collecting and sending basic device information in the background of my program. Some users have said that the best way to prevent this was to purchase the Premium version of Unity to shut this feature off, but many other users have said they have gotten limited success from it.

What I’ve done is disable hardware statistics in player settings, modify the Unity Connect Settings asset, and attempt to deactivate analytics at run time. I realize that it is very likely that these steps are redundant, and maybe even optional, but I really wanted to make sure this problem didn’t cause me to have my apps removed in the future.

These are the steps I’ve taken:

Disable Hardware Statistics in Player Settings:

Purpose: I am attempting to prevent Unity from collecting information about the devices it’s being used on, and sending that to Unity servers, which would require me to create a privacy statement.

  • In Unity, in the toolbar, go to File > Build Settings
  • In the Build Settings window, in the lower left-hand corner, click the “Player Settings…” button
  • The Inspector will open displaying the Player Settings
  • Select the “Android settings” tab in the Player Settings window if it has not already been selected
  • Select the “Other Settings” drop down
  • Under “Configuration”, select the “Disable HW Statistics” checkbox, and make sure it is checked

Manually Edit the Unity Connect Settings Asset.

Purpose: I am attempting to force Unity not to initialize Unity Analytics at start up. Creating a privacy policy and an opt-out interrogative feature would be cumbersome and unnecessary.

  • Build your Unity Project

  • Once it has finished building, leave Unity open and do not close Unity

  • Enter into your file hierarchy (for example, this would be opening up Windows Explorer)

  • In your file hierarchy, navigate to the project location where your Unity project is saved.

  • This was defined by you when you first created the app.

  • The folder should be named after your project.

  • When you are in the correct folder you will see folders like “Assets”, “Library”, “Packages”, “Logs”, etc.

  • In the project location, open the “ProjectSettings” folder

  • Open the UnityConnectSettings.asset file

  • Change the following settings in the file, some items left intentionally blank:

CrashReportingSettings:

m_EventUrl:

UnityPurchasingSettings:

m_Enabled: 0
m_TestMode: 0
UnityAnalyticsSettings:

m_Enabled: 0
m_TestMode: 0
m_InitializeOnStartup: 0
UnityAdsSettings:

m_Enabled: 0

m_InitializeOnStartup: 0
m_TestMode: 0
m_IosGameId: 0
m_AndroidGameID: 0
m_GameIds:
AndroidPlayer: 0
iPhonePlayer: 0
tvOSPlayer: 0
m_GameId: 0
PerformanceReportingSettings:

m_Enabled: 0

  • Save the file
  • You may close Unity at your leisure.

Disable all analytics at run-time:

Purpose: I am attempting to prevent Unity from changing some of the previous connection settings during run time due to background process that are beyond my control.

  • Create a method which will be accessed at startup

  • I personally created a class which has a static method that is executed at the start up of any scene.

  • Write the following method:

public static void disableAnylitics()
{
UnityEngine.Analytics.Analytics.enabled = false;
UnityEngine.Analytics.Analytics.deviceStatsEnabled = false;
UnityEngine.Analytics.Analytics.initializeOnStartup = false;
UnityEngine.Analytics.Analytics.limitUserTracking = false;
UnityEngine.Analytics.PerformanceReporting.enabled = false;
}


- In the event that Unity changed some of these values to true, re-setting them immediately will hopefully turn Unity Analytics off and prevent unwanted data collection

If you read this suggestion, let me, and everyone else in the thread, know how it went. Again, it's worked for me so far, but I do not have any ad or analytics features in my app. It's been a month since I uploaded the newest version, and I've yet to get a complaint or violation from the store.
1 Like

I had a similar problem to you, NeatWolf. I was able to work out that it was definitely Unity Analytics sending some kind of data (I think hardware data) to Unity. Google Play wants that covered in a privacy document, but because I didn’t want to make a privacy document, I figure out how to disable it. It’s not too involved, and it’s probably a little redundant, but I’ve had no issues with Google Play for the past month. I have no privacy statement either, which suggests that I truly may have fixed it.

I listed my steps here: https://discussions.unity.com/t/715396 page-2#post-4692782

Bbkyrs, I think I found a solution. I posted in the thread, [here]( https://discussions.unity.com/t/715396 page-2#post-4692782)

@EpsilonSE Your steps are correct. To confirm, you would want to run Charles Proxy to confirm what is being sent https://support.unity3d.com/hc/en-us/articles/115002917683-Using-Charles-Proxy-with-Unity

The steps are correct?

Can you please add sane defaults? Why is m_InitializeOnStartup: 1 for ads and analytics when I use neither ads nor analytics?

Can we please have a simple “UNITY PLEASE DON’T SEND ANY STUFF” checkbox that actually works somewhere, instead of the current “Please check 10 different menus (because some settings enable themselves back on from time to time), edit a bunch of files manually, do a rain dance AND THEN STILL NOT BE SURE”

Sorry for the late reply. I’ll try that, and get back to you on that by the end of today or tomorrow. I’ve never used Charles Proxy before.