Search Unity

iOS Advertising Identifier rejection FAQ

Discussion in 'iOS and tvOS' started by Mantas-Puida, Feb 3, 2014.

  1. Jakob

    Jakob

    Joined:
    Sep 29, 2011
    Posts:
    42
    I can also confirm that kids apps ar being rejected. We got rejected for the same thing. So is the same fix still valid? Or is there another way of doing this? @Mantas-Puida
     
    Last edited: Jan 27, 2020
  2. corn

    corn

    Joined:
    Mar 26, 2014
    Posts:
    12
    Got my kids app rejected too. I'm about to submit a new build with DeviceSettings.nm tweaked, hopefully that will do the trick.
     
  3. Funtyx

    Funtyx

    Joined:
    May 3, 2017
    Posts:
    37
    Did you do it? Apple rejects my child game. Is there a solution?
     
  4. corn

    corn

    Joined:
    Mar 26, 2014
    Posts:
    12
    I submitted my game again on Feb. 7 and it's been in review ever since. I'm still waiting for an answer...
    In addition to modifying DeviceSettings.nm, I also disabled HW Statistics in Player Settings, and made sure Ads, IAP and UA packages were removed from the project. It seems that unless you do all of this your build will be rejected, but I still cannot claim that it will be accepted if you do...
     
  5. TrilumStudios

    TrilumStudios

    Joined:
    Jun 23, 2017
    Posts:
    5
    Would really love to know how you went, we are stuck in a similar limbo with deadlines quickly passing us by.
     
  6. corn

    corn

    Joined:
    Mar 26, 2014
    Posts:
    12
    Still no news for my app. However a contact at Apple told us that what's making the reviews last so long is because review teams are in China, and everything is impacted by coronavirus...
     
  7. coshea

    coshea

    Joined:
    Dec 20, 2012
    Posts:
    319
    This post started in 2014, it is still an issue?

    I looked at DeviceSettings made by my Unity 2019 project and it doesn't have those QueryASIdentifierManager or QueryAdID(

    It does have UnityAdvertisingIdentifier() and UnityAdvertisingTrackingEnabled(); though
     
  8. tomph

    tomph

    Joined:
    Nov 6, 2013
    Posts:
    33
    Has anyone managed to implement the DeviceSettings.mm workaround while using Unity Cloud Build?
     
  9. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    This would not be expected to work currently for Cloud Build, it is an issue we are aware of and working to resolve it
     
  10. tomph

    tomph

    Joined:
    Nov 6, 2013
    Posts:
    33
    I did manage to get this fix applied via a Cloud Build... This is what I did.

    1. Build locally first, then copy the DeviceSettings.mm file from ./Build/Classes/Unity/DeviceSettings.mm
    2. Place the copied file in a StreamingAssets folder within you project
    3. Apply edits from the top of this thread to that file
    4. Adding the following script to your project:

    Code (CSharp):
    1. using System.IO;
    2.  
    3. public class PostBuild
    4. {
    5.     public static void PostProcessIOS(string projectPath)
    6.     {
    7.         string dest = projectPath + "/Classes/Unity/DeviceSettings.mm";
    8.         string source = projectPath + "/Data/Raw/DeviceSettings.mm";
    9.         string backup = projectPath + "/Classes/Unity/DeviceSettings_bak.bak";
    10.  
    11.         File.Replace(source, dest, backup);
    12.     }
    13. }
    5. Go to your Cloud Build target's Config > Advanced Options and set the 'Post-Export Method Name' to PostBuild.PostProcessIOS
    6. Save config and build your project

    One really super important thing (that caught me out) is make sure Unity Cloud Build is building your project with the exact same version as the one you are building locally (to generate your DeviceSettings.mm file). If you do not do this, you will run into errors because the spec of this file seems to change with each Unity version.

    EDIT:
    My app submission was successful!
     
    Last edited: Mar 1, 2020
  11. gamepanch

    gamepanch

    Joined:
    Jan 4, 2012
    Posts:
    12
    @tomph actually i have received the same error. After seeing this post only i have enabled the cloud build option in unity. But i cant do any build. because it said
    I cant do this




    Without using any cloud build .if i build will it works or is there any way to rectify the above error?
     
  12. gamepanch

    gamepanch

    Joined:
    Jan 4, 2012
    Posts:
    12
    @ jeff i have build locally and i have uploaded now. Waiting for review. Soon I will update the status. I

    It is not activating.
    I cant do this option. because i have used free version . But the build has been done locally. I will update the review.
     
  13. Alexander21

    Alexander21

    Joined:
    Dec 14, 2015
    Posts:
    302
    @tomph i have used the above code. I have done the build local only..BUT My App has REJECTED. I have enabled the cloud build settings. But i cant do this process
    because i am using unity version. It asks for unity teams advanced subscription.

    What is the exact solution for this... I have searched in google. But Only Very Less . Kindly provide a solution for this.

    NOTE: I did not use any AD In my APP.
     
    Last edited: Mar 14, 2020
  14. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    This may help https://forum.unity.com/threads/imp...kids-apps-action-needed-by-developers.838939/
     
  15. Alexander21

    Alexander21

    Joined:
    Dec 14, 2015
    Posts:
    302
    @jeffunity3d thanks for your help. My App got approved. I have followed the steps in the forum and our app got approved.
     
  16. brunopava

    brunopava

    Joined:
    Aug 7, 2012
    Posts:
    5
    Guys I followed every step described in this thread and they are still rejecting my game.

    They reply the following:

    Guideline 1.3 - Safety - Kids Category


    We still noticed that your Kids Category app includes analytics, advertising and collects, transmits, or has the ability to share personal information or device information with third parties.

    Your app includes the following feature(s), contrary to guideline 1.3 of the App Store Review Guidelines:

    Third-party analytics or third-party advertising with the ability to collect, transmit or share identifiable information, including, for example, IDFA. Specifically, we found that your app references the ASIdentifierManager API, which provides access to a user's IDFA, in the following location(s) in your binary:

    • Frameworks/UnityFramework.framework/UnityFramework

    To resolve this issue, it would be appropriate to remove all instances of “ASIdentifierManager” from your app, even if they are not utilized in your app's functionality.

    Next Steps

    To resolve this issue, please remove this functionality or revise your app so that no personally identifiable information or device information is sent to third parties.

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

    How do I fix this?

    What I have tried:
    Changes to DeviceSettings.mm (which the file seems to be different from what unity is building for me)
    Cleaning Xcode derived data folder

    I'm not using any third party addons nor my app uses the internet for that matter.
    Every toggle regarding analytics, ads and etc are off on the engine.

    I also tried updating to Unity version 2020.2.4f1
     
    Kritzlof and korimako like this.