Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Kids' app is rejected by Apple because of Analytics

Discussion in 'Unity Analytics' started by AytoMaximo, Jan 29, 2020.

Thread Status:
Not open for further replies.
  1. Deleted User

    Deleted User

    Guest

    Facebook is definitely a big NO NO in Apple's book. We had to remove it. Also, note Apple does scan the binary so anything with FSBK namespace will be found straight away. Not to mention Facebook has no way to opt out from device tracking, which means they collect the device IDFA under hood, which is in violation of Apple's Kids category guidelines
     
  2. Talgame

    Talgame

    Joined:
    Oct 19, 2015
    Posts:
    5
    So It becomes impossible to correctly advertise app on facebook or on google ads, you wouldn't see installs as there wouldn't be SDKs.

    Did someone successfully submitted app with this DeviceSettings.mm file change? I did and It steal says: "We have still found that your app still appears to use third-party advertising with the ability to collect, transmit or share identifiable information or device information."
     
  3. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Are you using any other services? Are you using advertising?
     
  4. Talgame

    Talgame

    Joined:
    Oct 19, 2015
    Posts:
    5
    No, nothing. Just Unity in apps and I modified DeviceSettings.mm, did someone had success with it?
     
  5. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    So you are using Unity Analytics if you have installed Unity IAP. We are still waiting to hear back from Apple if Unity IAP and Unity Analytics is allowed.
     
  6. Jbs_GameZone

    Jbs_GameZone

    Joined:
    Dec 14, 2018
    Posts:
    118
    Any updates on this ?

    My kids app just got rejected by Apple because of this ( includes analytics, advertising and collects, transmits or has the ability to share personal information or device info with 3rd parties). I'm using UnityAds and IAP in my game.

    Looking fwd for your feedback since this is a total stopper right now.
     
  7. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Did you make the suggested edits to DeviceSettings.mm? https://forum.unity.com/threads/imp...kids-apps-action-needed-by-developers.838939/
     
  8. Jbs_GameZone

    Jbs_GameZone

    Joined:
    Dec 14, 2018
    Posts:
    118
    I've done the following :
    - Disabled Unity Ads from Services, the app no longer plays ads.
    - Erased all plugins / files related to Ads from Unity project.
    - Checked package manager and Advertisement is not installed ( as per https://forum.unity.com/threads/sol...-ads-to-comply-with-idfa-requirements.606835/ )
    - Edited DeviceSettings.mm as indicated in the 5 steps from ScottF

    Now, if I try to submit the app and select NO at IDFA usage (since the app no longer plays ads I assumed this is the proper answer this time) it throws this error :


    upload_2020-5-2_12-21-3.png

    Do you know why Apple still detects IDFA usage ? What project files reflect this ? Do I need to make other mods in order to completely remove it from the app ? (tried removing the methods from DeviceSettings.mm and their declarations from UnityInterface.h but then the project cannot be built since they are still referenced from some other libraries).

    Thanks
     
    Last edited: May 2, 2020
  9. Jbs_GameZone

    Jbs_GameZone

    Joined:
    Dec 14, 2018
    Posts:
    118
    Retried the next day with a new build and they accepted to review the app. Bad news it was rejected again, they don't like those outside https calls, they still require info about what data is being shared:

    • Does your app include third-party analytics? If so, please provide details about what data is collected for this purpose.
    • Does your app include third-party advertising? If so, please provide a link to the ad network's publicly-documented practices and policies for kids apps.
    • Will the data be shared with any third parties? If so, for what purposes and where will this information be stored?
    • Is your app collecting any user or device data for purposes beyond third-party analytics or third-party advertising? If so, please provide a complete and clear explanation of all planned uses of this data.


    So, really a showstopper at the moment.

    I'm fine with disabling all analytics, interested in IAP only, but this didn't go as planned, calls are still being made to unity even with all analytics turned off, I wrote about this on another thread, I'll wait for an answer there : https://forum.unity.com/threads/is-...through-an-editor-script.510625/#post-5795509

    Regards,
    Jbs
     
    Last edited: May 2, 2020
  10. an_easytarget

    an_easytarget

    Joined:
    May 5, 2014
    Posts:
    4

    Did you hear back from Apple?

    We have Unity IAP in our projects. Disabling Unity Analytics would disable Unity IAP as well
     
  11. Mailjitu

    Mailjitu

    Joined:
    Sep 6, 2017
    Posts:
    1
    I got my children's app with IAP approved on the App Store. I removed Unity IAP from it, but I think my story will still be relevant here - some people like me will benefit from this.

    A little context: I made my app with Unity IAP and published it on the Play Store without any problem. I am not a coder, and used Playmaker to create my app, and used a plug-in to implement Unity IAP with Playmaker in my app - a non-consumable to unlock all stories. I thought I'd just make some adjustments for iOS release when I reach that bridge.

    After Google Play, as I did some research on iOS publishing, I came across this thread. It was clear that I had to remove Unity IAP, the problem was that I had very little C# scripting knowledge, and incorporating other native plugins were quite daunting to me. I did some research, and bought one from the Asset Store that had Playmaker actions for it - it's called Cross Platform Native Plugins.

    The plugin was quite easy with Playmaker, which was great, but the dev support of this plugin was amazing. I understand this sounds like an advertising, but I really mean it - I am really new to most of the development stuff, they even patiently held my hands through unfamiliar steps of iOS builds, not just implementing their plugin.

    I took all the steps AytoMaximo mentioned in the first post, and checked for callbacks using Charles like JeffDUnity3D said, and there were no Unity Analytics callback.

    I submitted the app on App Store, got a response the next day about some random crashes, got in contact with the Cross Platform Native Plugins team, they suggested a few changes - and resubmitted the app. It was approved overnight. 2 days in total!

    Thanks a lot AytoMaximo, JeffDUnity3D and the CPNP dev team! Till Unity IAP works without Analytics, CPNP plugins seem a very easy alternative to the problem.
     
    protopop likes this.
  12. bz_apps

    bz_apps

    Joined:
    Aug 19, 2014
    Posts:
    70
    Hi,

    I wondered if @JeffDUnity3D could reply.

    I'm starting a new kids app and would like to use IAP but do NOT want Unity analytics. Can you tell me if they are decoupled now?

    The info in the package manager suggests they are not :(
     
  13. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    No, they are not decoupled, we are hoping to do this later this year.
     
  14. bz_apps

    bz_apps

    Joined:
    Aug 19, 2014
    Posts:
    70
    Thanks for letting me know.

    I've just been reading a bunch of older post about disabling the analytics at runtime etc...

    I see there are new check boxes for Kids apps in unity. With these check and analytics turned off, does this work or is data still sent? P2 data?
     
  15. cujino

    cujino

    Joined:
    Feb 18, 2013
    Posts:
    11
    Any news on this? We just got our app rejected too, and Apple want us to remove the Unity SDK. We only use it for IAPs.

    Do you have an update on what we can do?
     
  16. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Can you provide the specific wording?
     
    cujino likes this.
  17. cujino

    cujino

    Joined:
    Feb 18, 2013
    Posts:
    11
    Yes:

    "Third-party analytics or third-party advertising with the ability to collect, transmit or share identifiable information, including, for example, IDFA. Specifically, we found your app was made with the Unity SDK. This particular SDK contained the following selectors that pertain to advertisements:

    advertisingIdentifier
    isAdvertisingTrackingEnabled

    It would be appropriate to work with Unity, in removing these selectors located in the UnityEngine.Analytics and/or UnityEngine.Advertisments components within your app before resubmitting."
     
  18. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    @cujino Thanks, we are still checking.
     
    cujino likes this.
  19. cujino

    cujino

    Joined:
    Feb 18, 2013
    Posts:
    11
    Thanks a lot.
     
  20. cujino

    cujino

    Joined:
    Feb 18, 2013
    Posts:
    11
    Any news? Thank you.
     
  21. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
  22. cujino

    cujino

    Joined:
    Feb 18, 2013
    Posts:
    11
    Thank you. We are through review and live at the store with our update.
     
    JeffDUnity3D likes this.
  23. Keepabee

    Keepabee

    Joined:
    Jul 12, 2012
    Posts:
    58
    It's now much later in the year and I assume this problem still exists, but no mentions of solutions or clear, collated workarounds listed anywhere here and much less in manuals and IAP/Analytics package documentation on how to set things up without tripping up on this.

    I'm about to release a customer project with IAP + Analytics, mainly a kids' game, and I stumble randomly on a thread about this stuff and only vague instructions that I should go read stuff all over the forums to find panicked, confused threads with somewhat conflicting info.

    • Some posts say Unity IAP AND Unity Analytics are right out, can't use 'em. Other posts say you can use Unity IAP, keep Analytics in project and not use it, explicitly disable it in code at early startup of app. In the latter case, if it works, the various other instructions listed in a few threads are very likely still necessary.
    • Unity In App Purchasing doesn't have package changelog in the standard link from Package Manager: the change log is where I'd expect to see this kind of critical information while the documentation page is still being updated.
    • Manual also seems like it's still a-ok to include Analytics with kids' apps and lists requirements for doing so as if this problem is still a new and unknown to everyone. Maybe the COPPA page could be replaced with a wider handling of the topic of apps aimed at kids, especially with clear instructions regarding the IAP/Analytics issue of this thread https://docs.unity3d.com/Manual/UnityAnalyticsCOPPA.html
    In short, I'd really want an official, complete and updated-as-this-progresses workflow/list of workarounds and solutions for situations regarding kids' apps, Unity IAP and Unity Analytics. Ideally that document should be visibly a part of the Manual under Analytics and/or IAP topics.

    Because a lot of people will only find these few forum posts, in random order, when they have already run in trouble during submissions and will have to take extra time to pivot their plans or scrape the forums and each collect all the various workarounds, try each to their own needs, when this could and should be a known issue during everyone's app development phase earlier when those changes require less effort and can be made with foresight.
     
    bcawthorne likes this.
  24. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    We don't have a complete answer, we are working hard to get this information. The store policies keep changing. But I would encourage you to attempt to publish anyway, there is no harm. We are planning to decouple Analytics and IAP hopefully later this year, that should help. In the meantime, you can disable Analytics at runtime by the steps mentioned in these threads.
     
  25. TwinForce

    TwinForce

    Joined:
    Feb 21, 2016
    Posts:
    5
    I guess the problem is still not solved by Unity (not saying it is Unity's fault). Is there a way to be notified when this problem is solved on Unity's side? Having the same issue here. Have contacted Apple to try to solve the problem but still waiting for a reply.
     
  26. rizawerx

    rizawerx

    Joined:
    May 30, 2013
    Posts:
    38
    Hi Jeff,
    Can you tell what kind of data analytics that Unity collected if set as children App? My app rejected and Apple asked me this:

    "To help us proceed with the review of your app, please provide complete and detailed responses to the following questions.

    - Could you please confirm and specify what data is being collected via Unity Analytics?"

    I'm using Unity 2019.4.11f1, using IAP and using Unity Ads and has disabled Analytics on runtime.
    Many thanks,
     
  27. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    If you are disabling Analytics at runtime, no data is being collected. You can confirm by using Charles Proxy.
     
  28. rizawerx

    rizawerx

    Joined:
    May 30, 2013
    Posts:
    38
    Hi Jeff,
    Attached is charles proxy capturing my ipad running my app. Is that normal that it still send something to unity ads?
    I'm using Unity 2019.4.11f1 plus version, using IAP, using Unity Ads set for children app, disabled analytics at runtime with this code:
    Code (CSharp):
    1. [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    2.     public static void OnRuntimeMethodLoad()
    3.     {
    4.         Analytics.enabled = false;
    5.         Analytics.deviceStatsEnabled = false;
    6.         Analytics.limitUserTracking = true;
    7.         Analytics.initializeOnStartup = false;
    8.  
    9.     }
    Thank you,
     

    Attached Files:

  29. SamOYUnity3D

    SamOYUnity3D

    Unity Technologies

    Joined:
    May 12, 2019
    Posts:
    626
    The URL in the attachment comes from the Unity Ads SDK instead of Analytics.

    The URL from Analytics should look like this:
    https://config.uca.cloud.unity3d.com

    https://api.uca.cloud.unity3d.com (generally the one you want to monitor)

    https://cdp.cloud.unity3d.com
     
  30. rizawerx

    rizawerx

    Joined:
    May 30, 2013
    Posts:
    38
  31. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Yes, that is correct
     
    rizawerx likes this.
  32. JackmanGomel

    JackmanGomel

    Joined:
    Jun 3, 2015
    Posts:
    26
    Hello, I use Unity 2020.1.3.16f and Unity IAP and Unity Analytics. Itunes rejected my game.
     

    Attached Files:

  33. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    That identifier is associated with advertising, please review previous posts. Are you using ads in your game?
     
    Last edited: Jan 5, 2021
  34. JackmanGomel

    JackmanGomel

    Joined:
    Jun 3, 2015
    Posts:
    26
    No, we aren`t. We use only Unity IAP and Analytics
     
  35. Sparkline

    Sparkline

    Joined:
    Feb 8, 2013
    Posts:
    118
    Hi. Im using unity 2019.4.17LTS with uniyt IAP. No ads. I knew about this issue with apple and kids aps and I disabled Analytics via script before scene loads. I did not edit DeviceSettings.mm coz I thought that versions 2019.4+ have all fixes.
    Got reject from apple today:

    ==============
    Guideline 1.3 - Safety - Kids Category


    We 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.

    ==============

    Any suggestions?
     
  36. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Last edited: Jan 14, 2021
Thread Status:
Not open for further replies.