Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Question Can't upload to Google Play due to non compliant SDK com.unity3d.ads:unity-ads

Discussion in 'Editor & General Support' started by lz7cjc, Sep 27, 2023.

  1. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    Hi
    I am getting this warning message that is discussed here
    https://forum.unity.com/threads/your-app-includes-non-compliant-sdk-version.1302498/

    but I don't use the ads SDK. I do use analytics (3.6.12) and IAP (v4.1.5)
    Unity Ads is in my package manager (3.7.5) - i have never tried to implement it - is there a way to check there is no rogue code?

    But most importantly how do i resolve this issue so i can publish my app to Play and Apple?
    thanks
     
  2. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    36,257
    Then remove it!

    I realize that it is VERY infuriating because this is crapware that I never asked for in my package and that Unity keeps reintroducing EVERY TIME I clone my project to a new location, such as my build machine, which runs a more up-to-date version of Unity.

    This is Super super super super SUPER irritating of Unity to do this.

    Extra unwanted packages in new projects (collab, testing, rider and other junk):

    https://forum.unity.com/threads/temp-unityengine-testrunner-dll-error.1133938/#post-7287748

    About the fastest way I have found to make a project and avoid all this noise is to create the project, then as soon as you see the files appear, FORCE-STOP (hard-kill) Unity (with the Activity Manager or Task Manager), then go hand-edit the Packages/manifest.json file as outlined in the above post, then reopen Unity.

    Sometimes the package system gets borked from all this unnecessary churn and requires the package cache to be cleared:

    https://stackoverflow.com/questions/53145919/unity3d-package-cache-errors/69779122
     
  3. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    Thanks, am always nervous deleting stuff due to unintended consequences...I seem to suffer from that a lot... But with your seal of approval will give it a go. Thanks for getting back to me
     
  4. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    so i have removed the ads package and also a number of the packages in the related post you referenced
    However I still get the same error:
    Your app com.Beriro.Masterchange version code 92 includes SDK com.unity3d.ads:unity-ads or an SDK that one of your libraries depends on, which collects personal or sensitive data that includes but may not be limited to Advertising ID, Android ID identifiers. Persistent device identifiers may not be linked to other personal and sensitive user data or resettable device identifiers as described in the User Data policy.

    i did also look for manifest.json but this file doesn't exist as I have customised files since this is a google cardboard VR project

    I have attached the manifest settings and the unity packages i have installed (I wasn't sure about Visual Studio as want to ensure I can open c# files from unity so kept it

    Any ideas
    thanks
     

    Attached Files:

  5. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    36,257
    You should be working with source control guarding your progress all the time! See below.

    Doublecheck you actually did remove all the ad related crap.

    Try a full reimport of the project, then build.

    ------------------------

    PROPERLY CONFIGURING AND USING ENTERPRISE SOURCE CONTROL

    I'm sorry you've had this issue. Please consider using proper industrial-grade enterprise-qualified source control in order to guard and protect your hard-earned work.

    Personally I use git (completely outside of Unity) because it is free and there are tons of tutorials out there to help you set it up as well as free places to host your repo (BitBucket, Github, Gitlab, etc.).

    You can also push git repositories to other drives: thumb drives, USB drives, network drives, etc., effectively putting a complete copy of the repository there.

    As far as configuring Unity to play nice with git, keep this in mind:

    https://forum.unity.com/threads/prefab-links-keep-getting-dumped-on-git-pull.646600/#post-7142306

    I usually make a separate repository for each game, but I have some repositories with a bunch of smaller test games.

    Here is how I use git in one of my games, Jetpack Kurt:

    https://forum.unity.com/threads/2-steps-backwards.965048/#post-6282497

    Using fine-grained source control as you work to refine your engineering:

    https://forum.unity.com/threads/whe...grammer-example-in-text.1048739/#post-6783740

    Share/Sharing source code between projects:

    https://forum.unity.com/threads/your-techniques-to-share-code-between-projects.575959/#post-3835837

    Setting up an appropriate .gitignore file for Unity3D:

    https://forum.unity.com/threads/removing-il2cpp_cache-from-project.1084607/#post-6997067

    Generally the ONLY folders you should ever source control are:

    Assets/
    ProjectSettings/
    Packages/

    NEVER source control Library/ or Temp/ or Logs/
    NEVER source control anything from Visual Studio (.vs, .csproj, none of that noise)

    Setting git up with Unity (includes above .gitignore concepts):

    https://thoughtbot.com/blog/how-to-git-with-unity

    It is only simple economics that you must expend as much effort into backing it up as you feel the work is worth in the first place. Digital storage is so unbelievably cheap today that you can buy gigabytes of flash drive storage for about the price of a cup of coffee. It's simply ridiculous not to back up.

    If you plan on joining the software industry, you will be required and expected to know how to use source control.

    "Use source control or you will be really sad sooner or later." - StarManta on the Unity3D forum boards
     
  6. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    @Kurt-Dekker If you find yourself having to do that loads, just create an empty project template. Very useful
    when making repro projects for bug reports.
     
  7. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    thanks - i did reimport the whole project by right clicking on assets and choosing reimport from the menu. i then rebuilt the apk and tried to upload but still get the same error.

    Any other thoughts on what might be going wrong/how i can fix since obviously keen to publish my app?
    thanks
     
  8. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    have also searched for unityads in all scripts in project and found no references - am at a loss as to how to fix so would really appreciate any more help anyone can offer
    thanks
     
  9. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    The first thing I would do is to export an Android Studio project and see what libraries are being included in the build. Once you know everything in the build you should be able better equipped to identify where they are coming from.
     
  10. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    thanks - have exported but not sure what I am meant to be looking for. I have never used Android Studio, only Unity. Can you give me a steer? thanks

    Someone @Unity why on earth do you have an sdk so embedded into your engine which is banned by Google???? Seems extraordinary
     
  11. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    Take a look at the dependencies list in
    unityLibrary/build.gradle
    .

    Great question...
     
  12. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    this is what is inside build.gradle
    Code (CSharp):
    1. // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
    2.  
    3. allprojects {
    4.     buildscript {
    5.         repositories {
    6.             google()
    7.             jcenter()
    8.         }
    9.  
    10.         dependencies {
    11.             classpath 'com.android.tools.build:gradle:3.4.0'
    12.          
    13.         }
    14.     }
    15.  
    16.     repositories {
    17.         google()
    18.         jcenter()
    19.         flatDir {
    20.             dirs "${project(':unityLibrary').projectDir}/libs"
    21.         }
    22.     }
    23. }
    24.  
    25. task clean(type: Delete) {
    26.     delete rootProject.buildDir
    27. }
    28.  
    However it is worth noting that I use a custom gradle as this is a google cardboard project

    maintemplate.gradle
    Code (CSharp):
    1. // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
    2.  
    3. apply plugin: 'com.android.library'
    4. **APPLY_PLUGINS**
    5.  
    6. dependencies {
    7.     implementation fileTree(dir: 'libs', include: ['*.jar'])
    8.     implementation 'androidx.appcompat:appcompat:1.0.0'
    9.     implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    10.     implementation 'com.google.android.gms:play-services-vision:15.0.2'
    11.     implementation 'com.google.android.material:material:1.0.0'
    12.     implementation 'com.google.protobuf:protobuf-javalite:3.8.0'
    13. **DEPS**}
    14.  
    15. android {
    16.     compileSdkVersion **APIVERSION**
    17.     buildToolsVersion '**BUILDTOOLS**'
    18.  
    19.     compileOptions {
    20.         sourceCompatibility JavaVersion.VERSION_1_8
    21.         targetCompatibility JavaVersion.VERSION_1_8
    22.     }
    23.  
    24.     defaultConfig {
    25.         minSdkVersion **MINSDKVERSION**
    26.         targetSdkVersion **TARGETSDKVERSION**
    27.         ndk {
    28.             abiFilters **ABIFILTERS**
    29.         }
    30.         versionCode **VERSIONCODE**
    31.         versionName '**VERSIONNAME**'
    32.         consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
    33.     }
    34.  
    35.     lintOptions {
    36.         abortOnError false
    37.     }
    38.  
    39.     aaptOptions {
    40.         ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    41.     }**PACKAGING_OPTIONS**
    42. }**REPOSITORIES****SOURCE_BUILD_SETUP**
    43. **EXTERNAL_SOURCES**
    LauncherTemplate:
    Code (CSharp):
    1. // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
    2.  
    3. apply plugin: 'com.android.application'
    4.  
    5. dependencies {
    6.     implementation project(':unityLibrary')
    7.     }
    8.  
    9. android {
    10.     compileSdkVersion **APIVERSION**
    11.     buildToolsVersion '**BUILDTOOLS**'
    12.  
    13.     compileOptions {
    14.         sourceCompatibility JavaVersion.VERSION_1_8
    15.         targetCompatibility JavaVersion.VERSION_1_8
    16.     }
    17.  
    18.     defaultConfig {
    19.         minSdkVersion **MINSDKVERSION**
    20.         targetSdkVersion **TARGETSDKVERSION**
    21.         applicationId '**APPLICATIONID**'
    22.         ndk {
    23.             abiFilters **ABIFILTERS**
    24.         }
    25.         versionCode **VERSIONCODE**
    26.         versionName '**VERSIONNAME**'
    27.     }
    28.  
    29.     aaptOptions {
    30.         noCompress = ['.unity3d', '.ress', '.resource', '.obb'**STREAMING_ASSETS**]
    31.         ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    32.     }**SIGN**
    33.  
    34.     lintOptions {
    35.         abortOnError false
    36.     }
    37.  
    38.     buildTypes {
    39.         debug {
    40.             minifyEnabled **MINIFY_DEBUG**
    41.             useProguard **PROGUARD_DEBUG**
    42.             proguardFiles getDefaultProguardFile('proguard-android.txt')**SIGNCONFIG**
    43.             jniDebuggable true
    44.         }
    45.         release {
    46.             minifyEnabled **MINIFY_RELEASE**
    47.             useProguard **PROGUARD_RELEASE**
    48.             proguardFiles getDefaultProguardFile('proguard-android.txt')**SIGNCONFIG**
    49.         }
    50.     }**PACKAGING_OPTIONS****SPLITS**
    51. **BUILT_APK_LOCATION**
    52.     bundle {
    53.         language {
    54.             enableSplit = false
    55.         }
    56.         density {
    57.             enableSplit = false
    58.         }
    59.         abi {
    60.             enableSplit = true
    61.         }
    62.     }
    63. }**SPLITS_VERSION_CODE****LAUNCHER_SOURCE_BUILD_SETUP**
    64.  
    Am flummoxed and hoping you might have some ideas on where the problem is coming from :)

    thanks
     
  13. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    This is the overall gradle script, could you post the one in unityLibrary? That's the one instantiated by mainTemplate.gradle, expansion of the **DEPS** macro is where such libs are referenced typically! Also, include your packages.json and packages-lock.json files if you can, and I'll see if I can see anything.
     
  14. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    thank you ... again

    Code (CSharp):
    1. // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
    2.  
    3. apply plugin: 'com.android.library'
    4.  
    5.  
    6. dependencies {
    7.     implementation fileTree(dir: 'libs', include: ['*.jar'])
    8.     implementation 'androidx.appcompat:appcompat:1.0.0'
    9.     implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    10.     implementation 'com.google.android.gms:play-services-vision:15.0.2'
    11.     implementation 'com.google.android.material:material:1.0.0'
    12.     implementation 'com.google.protobuf:protobuf-javalite:3.8.0'
    13.     implementation(name: 'billing-3.0.3', ext:'aar')
    14.     implementation(name: 'common', ext:'aar')
    15.     implementation(name: 'gvr-keyboard', ext:'aar')
    16.     implementation(name: 'gvr-keyboardsupport-release', ext:'aar')
    17.     implementation(name: 'gvr-permissionsupport-release', ext:'aar')
    18.     implementation(name: 'gvr', ext:'aar')
    19.     implementation(name: 'sdk', ext:'aar')
    20.     implementation(name: 'unitygvr', ext:'aar')
    21. }
    22.  
    23. android {
    24.     compileSdkVersion 29
    25.     buildToolsVersion '30.0.2'
    26.  
    27.     compileOptions {
    28.         sourceCompatibility JavaVersion.VERSION_1_8
    29.         targetCompatibility JavaVersion.VERSION_1_8
    30.     }
    31.  
    32.     defaultConfig {
    33.         minSdkVersion 29
    34.         targetSdkVersion 29
    35.         ndk {
    36.             abiFilters 'armeabi-v7a', 'arm64-v8a'
    37.         }
    38.         versionCode 96
    39.         versionName '1'
    40.         consumerProguardFiles 'proguard-unity.txt'
    41.     }
    42.  
    43.     lintOptions {
    44.         abortOnError false
    45.     }
    46.  
    47.     aaptOptions {
    48.         ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    49.     }
    50.  
    51.     packagingOptions {
    52.         doNotStrip '*/armeabi-v7a/*.so'
    53.         doNotStrip '*/arm64-v8a/*.so'
    54.     }
    55. }
    56.  
    I am sorry but I don't know where to find those files. I did a search for packages.json and nothing came up and also for package.json and everything came up!
     
  15. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,901
    I mean, they could be talking about the analytics package which is there specifically to gather data.
     
  16. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    They live in <Unity Project Folder>/Packages/, packages.json is package configuration for the project and packages-lock.json is a record of packages actually pulled into the project including dependencies etc.
     
  17. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    It's certainly possible but as far as I remember, neither legacy analytics nor deltaDNA (i.e. UGS Analytics) read Android ID or ADID. I could be wrong, let's see what's included in this project and I'll check.
     
  18. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    i have to use analytics if I am using IAP, I believe?
     
  19. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    If I remember rightly they've removed this requirement *very* recently (i.e. at some point during the summer), but even if not, I'd find it rather surprising if AndroidID was used by the analytics library, it can't even give an ID that persists re-installs.
     
  20. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    packages-lock
    Code (CSharp):
    1. {
    2.   "dependencies": {
    3.     "com.atteneder.gltfast": {
    4.       "version": "https://github.com/atteneder/glTFast.git#v5.0.0",
    5.       "depth": 0,
    6.       "source": "git",
    7.       "dependencies": {
    8.         "com.unity.modules.jsonserialize": "1.0.0",
    9.         "com.unity.modules.unitywebrequest": "1.0.0",
    10.         "com.unity.mathematics": "1.2.6",
    11.         "com.unity.burst": "1.6.6"
    12.       },
    13.       "hash": "76f76584a113b240a4ec11f324b17302bde9a53a"
    14.     },
    15.     "com.google.xr.cardboard": {
    16.       "version": "https://github.com/googlevr/cardboard-xr-plugin.git",
    17.       "depth": 0,
    18.       "source": "git",
    19.       "dependencies": {
    20.         "com.unity.xr.management": "3.2.9",
    21.         "com.unity.xr.legacyinputhelpers": "2.1.4"
    22.       },
    23.       "hash": "d9f0aa2eb03eb544069ea7278048994e548e6d03"
    24.     },
    25.     "com.unity.2d.sprite": {
    26.       "version": "1.0.0",
    27.       "depth": 0,
    28.       "source": "builtin",
    29.       "dependencies": {}
    30.     },
    31.     "com.unity.2d.tilemap": {
    32.       "version": "1.0.0",
    33.       "depth": 0,
    34.       "source": "builtin",
    35.       "dependencies": {}
    36.     },
    37.     "com.unity.analytics": {
    38.       "version": "3.6.12",
    39.       "depth": 0,
    40.       "source": "registry",
    41.       "dependencies": {
    42.         "com.unity.ugui": "1.0.0"
    43.       },
    44.       "url": "https://packages.unity.com"
    45.     },
    46.     "com.unity.burst": {
    47.       "version": "1.6.6",
    48.       "depth": 1,
    49.       "source": "registry",
    50.       "dependencies": {
    51.         "com.unity.mathematics": "1.2.1"
    52.       },
    53.       "url": "https://packages.unity.com"
    54.     },
    55.     "com.unity.cinemachine": {
    56.       "version": "2.6.15",
    57.       "depth": 0,
    58.       "source": "registry",
    59.       "dependencies": {},
    60.       "url": "https://packages.unity.com"
    61.     },
    62.     "com.unity.ext.nunit": {
    63.       "version": "1.0.6",
    64.       "depth": 0,
    65.       "source": "registry",
    66.       "dependencies": {},
    67.       "url": "https://packages.unity.com"
    68.     },
    69.     "com.unity.google.resonance.audio": {
    70.       "version": "2.0.0",
    71.       "depth": 1,
    72.       "source": "registry",
    73.       "dependencies": {},
    74.       "url": "https://packages.unity.com"
    75.     },
    76.     "com.unity.ide.visualstudio": {
    77.       "version": "2.0.15",
    78.       "depth": 0,
    79.       "source": "registry",
    80.       "dependencies": {
    81.         "com.unity.test-framework": "1.1.9"
    82.       },
    83.       "url": "https://packages.unity.com"
    84.     },
    85.     "com.unity.inputsystem": {
    86.       "version": "1.3.0",
    87.       "depth": 0,
    88.       "source": "registry",
    89.       "dependencies": {
    90.         "com.unity.modules.uielements": "1.0.0"
    91.       },
    92.       "url": "https://packages.unity.com"
    93.     },
    94.     "com.unity.mathematics": {
    95.       "version": "1.2.6",
    96.       "depth": 1,
    97.       "source": "registry",
    98.       "dependencies": {},
    99.       "url": "https://packages.unity.com"
    100.     },
    101.     "com.unity.mobile.notifications": {
    102.       "version": "2.0.2",
    103.       "depth": 0,
    104.       "source": "registry",
    105.       "dependencies": {
    106.         "com.unity.modules.androidjni": "1.0.0"
    107.       },
    108.       "url": "https://packages.unity.com"
    109.     },
    110.     "com.unity.nuget.newtonsoft-json": {
    111.       "version": "3.0.2",
    112.       "depth": 0,
    113.       "source": "registry",
    114.       "dependencies": {},
    115.       "url": "https://packages.unity.com"
    116.     },
    117.     "com.unity.postprocessing": {
    118.       "version": "2.3.0",
    119.       "depth": 0,
    120.       "source": "registry",
    121.       "dependencies": {},
    122.       "url": "https://packages.unity.com"
    123.     },
    124.     "com.unity.purchasing": {
    125.       "version": "4.1.5",
    126.       "depth": 0,
    127.       "source": "registry",
    128.       "dependencies": {
    129.         "com.unity.ugui": "1.0.0",
    130.         "com.unity.modules.unityanalytics": "1.0.0",
    131.         "com.unity.modules.unitywebrequest": "1.0.0",
    132.         "com.unity.modules.jsonserialize": "1.0.0",
    133.         "com.unity.modules.androidjni": "1.0.0",
    134.         "com.unity.services.core": "1.0.1"
    135.       },
    136.       "url": "https://packages.unity.com"
    137.     },
    138.     "com.unity.render-pipelines.core": {
    139.       "version": "7.7.1",
    140.       "depth": 1,
    141.       "source": "registry",
    142.       "dependencies": {
    143.         "com.unity.ugui": "1.0.0",
    144.         "com.unity.modules.physics": "1.0.0"
    145.       },
    146.       "url": "https://packages.unity.com"
    147.     },
    148.     "com.unity.render-pipelines.universal": {
    149.       "version": "7.7.1",
    150.       "depth": 0,
    151.       "source": "registry",
    152.       "dependencies": {
    153.         "com.unity.render-pipelines.core": "7.7.1",
    154.         "com.unity.shadergraph": "7.7.1"
    155.       },
    156.       "url": "https://packages.unity.com"
    157.     },
    158.     "com.unity.services.core": {
    159.       "version": "1.0.1",
    160.       "depth": 1,
    161.       "source": "registry",
    162.       "dependencies": {
    163.         "com.unity.modules.unitywebrequest": "1.0.0"
    164.       },
    165.       "url": "https://packages.unity.com"
    166.     },
    167.     "com.unity.shadergraph": {
    168.       "version": "7.7.1",
    169.       "depth": 1,
    170.       "source": "registry",
    171.       "dependencies": {
    172.         "com.unity.render-pipelines.core": "7.7.1"
    173.       },
    174.       "url": "https://packages.unity.com"
    175.     },
    176.     "com.unity.subsystemregistration": {
    177.       "version": "1.0.6",
    178.       "depth": 1,
    179.       "source": "registry",
    180.       "dependencies": {},
    181.       "url": "https://packages.unity.com"
    182.     },
    183.     "com.unity.terrain-tools": {
    184.       "version": "3.0.2-preview.3",
    185.       "depth": 0,
    186.       "source": "registry",
    187.       "dependencies": {},
    188.       "url": "https://packages.unity.com"
    189.     },
    190.     "com.unity.test-framework": {
    191.       "version": "1.1.29",
    192.       "depth": 1,
    193.       "source": "registry",
    194.       "dependencies": {
    195.         "com.unity.ext.nunit": "1.0.6",
    196.         "com.unity.modules.imgui": "1.0.0",
    197.         "com.unity.modules.jsonserialize": "1.0.0"
    198.       },
    199.       "url": "https://packages.unity.com"
    200.     },
    201.     "com.unity.textmeshpro": {
    202.       "version": "2.1.6",
    203.       "depth": 0,
    204.       "source": "registry",
    205.       "dependencies": {
    206.         "com.unity.ugui": "1.0.0"
    207.       },
    208.       "url": "https://packages.unity.com"
    209.     },
    210.     "com.unity.ugui": {
    211.       "version": "1.0.0",
    212.       "depth": 0,
    213.       "source": "builtin",
    214.       "dependencies": {
    215.         "com.unity.modules.ui": "1.0.0",
    216.         "com.unity.modules.imgui": "1.0.0"
    217.       }
    218.     },
    219.     "com.unity.xr.googlevr.android": {
    220.       "version": "2.0.0",
    221.       "depth": 0,
    222.       "source": "registry",
    223.       "dependencies": {
    224.         "com.unity.google.resonance.audio": "2.0.0"
    225.       },
    226.       "url": "https://packages.unity.com"
    227.     },
    228.     "com.unity.xr.interactionsubsystems": {
    229.       "version": "1.0.1",
    230.       "depth": 0,
    231.       "source": "registry",
    232.       "dependencies": {
    233.         "com.unity.subsystemregistration": "1.0.5"
    234.       },
    235.       "url": "https://packages.unity.com"
    236.     },
    237.     "com.unity.xr.legacyinputhelpers": {
    238.       "version": "2.1.9",
    239.       "depth": 0,
    240.       "source": "registry",
    241.       "dependencies": {
    242.         "com.unity.modules.vr": "1.0.0",
    243.         "com.unity.modules.xr": "1.0.0"
    244.       },
    245.       "url": "https://packages.unity.com"
    246.     },
    247.     "com.unity.xr.management": {
    248.       "version": "4.0.7",
    249.       "depth": 0,
    250.       "source": "registry",
    251.       "dependencies": {
    252.         "com.unity.modules.subsystems": "1.0.0",
    253.         "com.unity.modules.vr": "1.0.0",
    254.         "com.unity.modules.xr": "1.0.0",
    255.         "com.unity.xr.legacyinputhelpers": "2.1.7",
    256.         "com.unity.subsystemregistration": "1.0.6"
    257.       },
    258.       "url": "https://packages.unity.com"
    259.     },
    260.     "com.unity.xr.mock-hmd": {
    261.       "version": "1.3.0-preview.1",
    262.       "depth": 0,
    263.       "source": "registry",
    264.       "dependencies": {
    265.         "com.unity.xr.management": "4.0.1"
    266.       },
    267.       "url": "https://packages.unity.com"
    268.     },
    269.     "com.unity.xr.openvr.standalone": {
    270.       "version": "2.0.5",
    271.       "depth": 0,
    272.       "source": "registry",
    273.       "dependencies": {},
    274.       "url": "https://packages.unity.com"
    275.     },
    276.     "com.unity.modules.ai": {
    277.       "version": "1.0.0",
    278.       "depth": 0,
    279.       "source": "builtin",
    280.       "dependencies": {}
    281.     },
    282.     "com.unity.modules.androidjni": {
    283.       "version": "1.0.0",
    284.       "depth": 0,
    285.       "source": "builtin",
    286.       "dependencies": {}
    287.     },
    288.     "com.unity.modules.animation": {
    289.       "version": "1.0.0",
    290.       "depth": 0,
    291.       "source": "builtin",
    292.       "dependencies": {}
    293.     },
    294.     "com.unity.modules.assetbundle": {
    295.       "version": "1.0.0",
    296.       "depth": 0,
    297.       "source": "builtin",
    298.       "dependencies": {}
    299.     },
    300.     "com.unity.modules.audio": {
    301.       "version": "1.0.0",
    302.       "depth": 0,
    303.       "source": "builtin",
    304.       "dependencies": {}
    305.     },
    306.     "com.unity.modules.cloth": {
    307.       "version": "1.0.0",
    308.       "depth": 0,
    309.       "source": "builtin",
    310.       "dependencies": {
    311.         "com.unity.modules.physics": "1.0.0"
    312.       }
    313.     },
    314.     "com.unity.modules.director": {
    315.       "version": "1.0.0",
    316.       "depth": 0,
    317.       "source": "builtin",
    318.       "dependencies": {
    319.         "com.unity.modules.audio": "1.0.0",
    320.         "com.unity.modules.animation": "1.0.0"
    321.       }
    322.     },
    323.     "com.unity.modules.imageconversion": {
    324.       "version": "1.0.0",
    325.       "depth": 0,
    326.       "source": "builtin",
    327.       "dependencies": {}
    328.     },
    329.     "com.unity.modules.imgui": {
    330.       "version": "1.0.0",
    331.       "depth": 0,
    332.       "source": "builtin",
    333.       "dependencies": {}
    334.     },
    335.     "com.unity.modules.jsonserialize": {
    336.       "version": "1.0.0",
    337.       "depth": 0,
    338.       "source": "builtin",
    339.       "dependencies": {}
    340.     },
    341.     "com.unity.modules.particlesystem": {
    342.       "version": "1.0.0",
    343.       "depth": 0,
    344.       "source": "builtin",
    345.       "dependencies": {}
    346.     },
    347.     "com.unity.modules.physics": {
    348.       "version": "1.0.0",
    349.       "depth": 0,
    350.       "source": "builtin",
    351.       "dependencies": {}
    352.     },
    353.     "com.unity.modules.physics2d": {
    354.       "version": "1.0.0",
    355.       "depth": 0,
    356.       "source": "builtin",
    357.       "dependencies": {}
    358.     },
    359.     "com.unity.modules.screencapture": {
    360.       "version": "1.0.0",
    361.       "depth": 0,
    362.       "source": "builtin",
    363.       "dependencies": {
    364.         "com.unity.modules.imageconversion": "1.0.0"
    365.       }
    366.     },
    367.     "com.unity.modules.subsystems": {
    368.       "version": "1.0.0",
    369.       "depth": 1,
    370.       "source": "builtin",
    371.       "dependencies": {
    372.         "com.unity.modules.jsonserialize": "1.0.0"
    373.       }
    374.     },
    375.     "com.unity.modules.terrain": {
    376.       "version": "1.0.0",
    377.       "depth": 0,
    378.       "source": "builtin",
    379.       "dependencies": {}
    380.     },
    381.     "com.unity.modules.terrainphysics": {
    382.       "version": "1.0.0",
    383.       "depth": 0,
    384.       "source": "builtin",
    385.       "dependencies": {
    386.         "com.unity.modules.physics": "1.0.0",
    387.         "com.unity.modules.terrain": "1.0.0"
    388.       }
    389.     },
    390.     "com.unity.modules.tilemap": {
    391.       "version": "1.0.0",
    392.       "depth": 0,
    393.       "source": "builtin",
    394.       "dependencies": {
    395.         "com.unity.modules.physics2d": "1.0.0"
    396.       }
    397.     },
    398.     "com.unity.modules.ui": {
    399.       "version": "1.0.0",
    400.       "depth": 0,
    401.       "source": "builtin",
    402.       "dependencies": {}
    403.     },
    404.     "com.unity.modules.uielements": {
    405.       "version": "1.0.0",
    406.       "depth": 0,
    407.       "source": "builtin",
    408.       "dependencies": {
    409.         "com.unity.modules.imgui": "1.0.0",
    410.         "com.unity.modules.jsonserialize": "1.0.0"
    411.       }
    412.     },
    413.     "com.unity.modules.umbra": {
    414.       "version": "1.0.0",
    415.       "depth": 0,
    416.       "source": "builtin",
    417.       "dependencies": {}
    418.     },
    419.     "com.unity.modules.unityanalytics": {
    420.       "version": "1.0.0",
    421.       "depth": 0,
    422.       "source": "builtin",
    423.       "dependencies": {
    424.         "com.unity.modules.unitywebrequest": "1.0.0",
    425.         "com.unity.modules.jsonserialize": "1.0.0"
    426.       }
    427.     },
    428.     "com.unity.modules.unitywebrequest": {
    429.       "version": "1.0.0",
    430.       "depth": 0,
    431.       "source": "builtin",
    432.       "dependencies": {}
    433.     },
    434.     "com.unity.modules.unitywebrequestassetbundle": {
    435.       "version": "1.0.0",
    436.       "depth": 0,
    437.       "source": "builtin",
    438.       "dependencies": {
    439.         "com.unity.modules.assetbundle": "1.0.0",
    440.         "com.unity.modules.unitywebrequest": "1.0.0"
    441.       }
    442.     },
    443.     "com.unity.modules.unitywebrequestaudio": {
    444.       "version": "1.0.0",
    445.       "depth": 0,
    446.       "source": "builtin",
    447.       "dependencies": {
    448.         "com.unity.modules.unitywebrequest": "1.0.0",
    449.         "com.unity.modules.audio": "1.0.0"
    450.       }
    451.     },
    452.     "com.unity.modules.unitywebrequesttexture": {
    453.       "version": "1.0.0",
    454.       "depth": 0,
    455.       "source": "builtin",
    456.       "dependencies": {
    457.         "com.unity.modules.unitywebrequest": "1.0.0",
    458.         "com.unity.modules.imageconversion": "1.0.0"
    459.       }
    460.     },
    461.     "com.unity.modules.unitywebrequestwww": {
    462.       "version": "1.0.0",
    463.       "depth": 0,
    464.       "source": "builtin",
    465.       "dependencies": {
    466.         "com.unity.modules.unitywebrequest": "1.0.0",
    467.         "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
    468.         "com.unity.modules.unitywebrequestaudio": "1.0.0",
    469.         "com.unity.modules.audio": "1.0.0",
    470.         "com.unity.modules.assetbundle": "1.0.0",
    471.         "com.unity.modules.imageconversion": "1.0.0"
    472.       }
    473.     },
    474.     "com.unity.modules.vehicles": {
    475.       "version": "1.0.0",
    476.       "depth": 0,
    477.       "source": "builtin",
    478.       "dependencies": {
    479.         "com.unity.modules.physics": "1.0.0"
    480.       }
    481.     },
    482.     "com.unity.modules.video": {
    483.       "version": "1.0.0",
    484.       "depth": 0,
    485.       "source": "builtin",
    486.       "dependencies": {
    487.         "com.unity.modules.audio": "1.0.0",
    488.         "com.unity.modules.ui": "1.0.0",
    489.         "com.unity.modules.unitywebrequest": "1.0.0"
    490.       }
    491.     },
    492.     "com.unity.modules.vr": {
    493.       "version": "1.0.0",
    494.       "depth": 0,
    495.       "source": "builtin",
    496.       "dependencies": {
    497.         "com.unity.modules.jsonserialize": "1.0.0",
    498.         "com.unity.modules.physics": "1.0.0",
    499.         "com.unity.modules.xr": "1.0.0"
    500.       }
    501.     },
    502.     "com.unity.modules.wind": {
    503.       "version": "1.0.0",
    504.       "depth": 0,
    505.       "source": "builtin",
    506.       "dependencies": {}
    507.     },
    508.     "com.unity.modules.xr": {
    509.       "version": "1.0.0",
    510.       "depth": 0,
    511.       "source": "builtin",
    512.       "dependencies": {
    513.         "com.unity.modules.physics": "1.0.0",
    514.         "com.unity.modules.jsonserialize": "1.0.0",
    515.         "com.unity.modules.subsystems": "1.0.0"
    516.       }
    517.     }
    518.   }
    519. }
    520.  
    there is no packages.json in that folder but i do
    manifest.json
    Code (CSharp):
    1. {
    2.   "dependencies": {
    3.     "com.atteneder.gltfast": "https://github.com/atteneder/glTFast.git#v5.0.0",
    4.     "com.google.xr.cardboard": "https://github.com/googlevr/cardboard-xr-plugin.git",
    5.     "com.unity.2d.sprite": "1.0.0",
    6.     "com.unity.2d.tilemap": "1.0.0",
    7.     "com.unity.analytics": "3.6.12",
    8.     "com.unity.cinemachine": "2.6.15",
    9.     "com.unity.ext.nunit": "1.0.6",
    10.     "com.unity.ide.visualstudio": "2.0.15",
    11.     "com.unity.inputsystem": "1.3.0",
    12.     "com.unity.mobile.notifications": "2.0.2",
    13.     "com.unity.nuget.newtonsoft-json": "3.0.2",
    14.     "com.unity.postprocessing": "2.3.0",
    15.     "com.unity.purchasing": "4.1.5",
    16.     "com.unity.render-pipelines.universal": "7.7.1",
    17.     "com.unity.terrain-tools": "3.0.2-preview.3",
    18.     "com.unity.textmeshpro": "2.1.6",
    19.     "com.unity.ugui": "1.0.0",
    20.     "com.unity.xr.googlevr.android": "2.0.0",
    21.     "com.unity.xr.interactionsubsystems": "1.0.1",
    22.     "com.unity.xr.legacyinputhelpers": "2.1.9",
    23.     "com.unity.xr.management": "4.0.7",
    24.     "com.unity.xr.mock-hmd": "1.3.0-preview.1",
    25.     "com.unity.xr.openvr.standalone": "2.0.5",
    26.     "com.unity.modules.ai": "1.0.0",
    27.     "com.unity.modules.androidjni": "1.0.0",
    28.     "com.unity.modules.animation": "1.0.0",
    29.     "com.unity.modules.assetbundle": "1.0.0",
    30.     "com.unity.modules.audio": "1.0.0",
    31.     "com.unity.modules.cloth": "1.0.0",
    32.     "com.unity.modules.director": "1.0.0",
    33.     "com.unity.modules.imageconversion": "1.0.0",
    34.     "com.unity.modules.imgui": "1.0.0",
    35.     "com.unity.modules.jsonserialize": "1.0.0",
    36.     "com.unity.modules.particlesystem": "1.0.0",
    37.     "com.unity.modules.physics": "1.0.0",
    38.     "com.unity.modules.physics2d": "1.0.0",
    39.     "com.unity.modules.screencapture": "1.0.0",
    40.     "com.unity.modules.terrain": "1.0.0",
    41.     "com.unity.modules.terrainphysics": "1.0.0",
    42.     "com.unity.modules.tilemap": "1.0.0",
    43.     "com.unity.modules.ui": "1.0.0",
    44.     "com.unity.modules.uielements": "1.0.0",
    45.     "com.unity.modules.umbra": "1.0.0",
    46.     "com.unity.modules.unityanalytics": "1.0.0",
    47.     "com.unity.modules.unitywebrequest": "1.0.0",
    48.     "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
    49.     "com.unity.modules.unitywebrequestaudio": "1.0.0",
    50.     "com.unity.modules.unitywebrequesttexture": "1.0.0",
    51.     "com.unity.modules.unitywebrequestwww": "1.0.0",
    52.     "com.unity.modules.vehicles": "1.0.0",
    53.     "com.unity.modules.video": "1.0.0",
    54.     "com.unity.modules.vr": "1.0.0",
    55.     "com.unity.modules.wind": "1.0.0",
    56.     "com.unity.modules.xr": "1.0.0"
    57.   }
    58. }
    59.  
     
  21. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    NB am using 2019.4.31f1 of the editor
     
  22. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    Ah, yes, of course, manifest.json, sorry. Anyhow, lemme import these into a project and see what I can find.
    I was wrong about the analytics dependency having been removed, it has not.

    One thing, however, you may run into issues with Unity 2019LTS. As of some time last year, GooglePlay started requiring a newer version of the purchasing library than the IAP package compatible with 2019 comes with. That happened around the time 2019 came out of LTS. I had to modify a newer version of the IAP package to build in 2019 to do the release we were doing at the time, but ultimately we've had to move to 2021LTS for further releases.
     
  23. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    yup that was the last problem i hit! However I seem to have resolved that specific flag, more by luck than judgement . I would really rather not upgrade as the Google Cardboard sdk (use to) have problems with the later versions
     
  24. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    Okie. Give me a couple of hours, I'll do a deep dive and see if I can figure out how to solve your issue after I finish work! :)
     
  25. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    amazing - thank you so much
     
  26. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    So, I've done a build with this package configuration, at laest on the Unity side, without the extra gvr packages referenced in the custom gradle script.. Whenever something uses ADID or AndroidID, I expect to at least see "com.google.android.gms.permission.AD_ID" referenced in the manifest, but that's not the case. What is the exact error when uploading to Google Play, is there any more info given?
     
  27. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    No just the original message I posted. I have emailed Google asking for additional information (Friday) but yet to hear back

    I use gvr for virtual reality. I believe it's the reticle pointer and is from the Google cardboard sdk
     
  28. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    this is the full copy/paste, when i try to move to the next step having uploaded the apk and obb file:

    Your app includes non compliant SDK version


    Your app com.Beriro.Masterchange version code 92 includes SDK com.unity3d.ads:unity-ads or an SDK that one of your libraries depends on, which collects personal or sensitive data that includes but may not be limited to Advertising ID, Android ID identifiers. Persistent device identifiers may not be linked to other personal and sensitive user data or resettable device identifiers as described in the User Data policy.

    Starting from January 11, 2023 midnight (UTC), new app releases containing the SDK version(s) that do not comply with the User Data policy may be blocked from release. You may consider upgrading to a policy-compliant version of this SDK that does not include the violating code if available from your SDK provider, or removing this SDK from your app.

    According to your SDK provider, you may consider upgrading to 4.0.1, and/or contacting your SDK provider to see if a suitable later version might be available. Google is unable to endorse or recommend any third party software.

    ACTION REQUIRED: Upload a new compliant version AND deactivate the noncompliant version.

    Read through the User Data policy for more details, and how to submit an updated app for review here.

    If you've reviewed the policy and feel our decision may have been in error, please reach out to our policy support team.

    Learn More

    error
    Your app includes non compliant SDK version
    Your app com.Beriro.Masterchange version code 88 includes SDK com.unity3d.ads:unity-ads or an SDK that one of your libraries depends on, which collects personal or sensitive data that includes but may not be limited to identifiers. Persistent device identifiers may not be linked to other personal and sensitive user data or resettable device identifiers as described in the User Data policy.

    Starting from January 11, 2023 midnight (UTC), new app releases containing the SDK version(s) that do not comply with the User Data policy may be blocked from release. You may consider upgrading to a policy-compliant version of this SDK that does not include the violating code if available from your SDK provider, or removing this SDK from your app.

    According to your SDK provider, you may consider upgrading to 4.0.1, and/or contacting your SDK provider to see if a suitable later version might be available. Google is unable to endorse or recommend any third party software.

    ACTION REQUIRED: Upload a new compliant version AND deactivate the noncompliant version.

    Read through the User Data policy for more details, and how to submit an updated app for review here.

    If you've reviewed the policy and feel our decision may have been in error, please reach out to our policy support team.

    Learn More
     
  29. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    Hi @AlkisFortuneFish - I still haven't heard back from Google and Unity are being zero help. Do you think the GVR (GoogleVR) is the problem? Seems unlikely given the error is around unity ads and GVR is/was a Google SDK
     
  30. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    958
    Hey, I can't imagine it is. One thing to actually look at is that the error states the following:
    "ACTION REQUIRED: Upload a new compliant version AND deactivate the noncompliant version."

    This is a bit of a shot in the dark, but is it possible that it's complaining about a version you are not actually releasing? I know that I had compliance warnings in our account that were referring to internal test versions rather than the latest upload. The thing is, with the package setup you provided, I wasn't getting the Unity Ads library in the build. If you feel comfortable doing so, (privately) send an APK over and I can extract it and have a look at what's there. Otherwise get some tool to extract the APK yourself, it's not particularly hard.
     
  31. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    36,257
    Very likely... good callout. I go through this every few years when an SDK is deprecated. My approach is to upload to Internal Testing, and when I'm ready to promote to Production, I actually promote it steadily up through ALL the release types: closed, open, etc, and finally production.

    This seems to "sweep out" the old builds.

    Classy Shark is useful for this and just generally all-around a great tool.
     
    AlkisFortuneFish likes this.
  32. lz7cjc

    lz7cjc

    Joined:
    Sep 10, 2019
    Posts:
    513
    thanks both - i have been trying to promote to internal testing. Unity suggested i should delete all previous versions of the apk but I have found nothing on how to do this from Google Store -as you suggest I have been going about the process of promoting from internal up the chain but I can't get a foothold to wipe out the older versions.

    The production version is about 2 years old ... and has other warnings so I would love to ditch that version (and also ideally reset the version count which has rather got away from me)

    thanks for the offer of sending over the apk - if we fail to make much progress i might take you up on that offer