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:
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.
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:
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.
our usage of this api is guarded with a define that is set depending on your usage of c# api
check if UNITY_USES_IAD is in xcode defines list
it is set if you use one of
UnityEngine.iOS.Device.advertisingIdentifier, UnityEngine.iOS.Device.advertisingTrackingEnabled, UnityEngine.Application.RequestAdvertisingIdentifierAsync
I read last post and checked if I have smth enabled in package manager. And I found that Advertisement and Analytics are both installed (was pre-installed). I’ve uninstalled advertisement and will try it now.
So does this mean basically once Advertisements are enabled the ASIdentifierManager will be present and no way to prevent ASIdentifierManager while using Unity Advertisements?
Ok. I made a few changes… I dont know which one worked… but IT WORKED. I think that was the point 1 and 3
1 * I modified the ProjectSettings/UnityConnectSettings.asset . file in order to DISABLE Analytics with In-app Purchases enabled,
ProjectSettings/UnityConnectSettings.asset .
CrashReportingSettings:
m_Enabled: 0
UnityPurchasingSettings:
m_Enabled: 1
UnityAnalyticsSettings:
m_Enabled: 0
m_InitializeOnStartup: 0
UnityAdsSettings:
m_Enabled: 0
PerformanceReportingSettings:
m_Enabled: 0
2 * Removed from Library/PackageCache/com.unity.analytics
3 * Uninstall on Unity the Analytics Package. (WINDOW - > Package Manager)
4 * Create an object on my splash screen with a ScriptFile UnityAnalyticsDisabler.cs attached,
using UnityEngine;
using System.Collections;
using UnityEngine.Analytics;
public class UnityAnalyticsDisabler : MonoBehaviour
{
// Disables analytics before any code runs that sends analytic events
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
public static void OnRuntimeMethodBeforeSceneLoad()
{
Analytics.enabled = false;
Analytics.deviceStatsEnabled = false;
Analytics.initializeOnStartup = false;
Analytics.limitUserTracking = true;
PerformanceReporting.enabled = false;
}
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
5 * On Xcode I modified the DeviceSettings.mm
Removed the #include <Adsupport/AsIdentifierManager.h> line
QueryASIdentifierManager() : found and deleted
static NSString* _ADID = nil;
and all the #if UNITY_USES_IAD References.,
Follow this instructions
** AppStore keeps rejecting Kids App page-2**