@@ -18,17 +18,23 @@ namespace Immutable.Audience.Editor
1818 /// </remarks>
1919 public sealed class AudienceMobileBuildSettings : ScriptableObject
2020 {
21- // Fallback so a build never ships with the key missing (which would
22- // block App Store submission). Studios should override on the asset
23- // with copy describing what is collected and why.
21+ // Fallback used when no asset exists or the field is left blank.
22+ // Apple reviewers reject generic strings — studios MUST replace this
23+ // with copy that names their app and explains the specific use case
24+ // (e.g. "Game Name uses your advertising identifier to attribute app
25+ // installs and measure ad campaign performance."). Submitting this
26+ // default will likely result in an App Store rejection.
2427 internal const string DefaultTrackingUsageDescription =
25- "Your data may be used to deliver personalised ads to you. " +
26- "You can change this preference at any time in Settings." ;
28+ "This app uses your device's advertising identifier to attribute " +
29+ "app installs and measure ad campaign performance. You can change " +
30+ "this preference at any time in Settings > Privacy & Security > Tracking." ;
2731
2832 [ SerializeField ]
29- [ Tooltip ( "Copy shown in the iOS App Tracking Transparency prompt. " +
30- "Apple rejects empty or generic strings. Describe what is " +
31- "collected and why." ) ]
33+ [ Tooltip ( "REQUIRED: Customise this before submitting to the App Store. " +
34+ "Apple rejects generic strings — describe what YOUR app collects " +
35+ "and why (e.g. 'Game Name uses your advertising identifier to " +
36+ "attribute installs and measure ad performance.'). " +
37+ "Left blank, the SDK default is used but will likely be rejected." ) ]
3238 private string trackingUsageDescription = DefaultTrackingUsageDescription ;
3339
3440 [ SerializeField ]
0 commit comments