@@ -49,6 +49,40 @@ public class AudienceConfig
4949 /// </summary>
5050 public bool Debug { get ; set ; } = false ;
5151
52+ /// <summary>
53+ /// Opts into mobile install-attribution signals (iOS ATT / IDFA /
54+ /// SKAdNetwork, Android Advertising ID / Install Referrer). Default
55+ /// <c>false</c>.
56+ /// </summary>
57+ /// <remarks>
58+ /// Two gates control attribution; both must be set for any data to
59+ /// ship:
60+ ///
61+ /// 1. Build-time: add <c>AUDIENCE_MOBILE_ATTRIBUTION</c> to Player
62+ /// Settings → Other Settings → Scripting Define Symbols. Controls
63+ /// the AD_ID Android manifest permission, the iOS Privacy Manifest
64+ /// variant (<c>NSPrivacyTracking</c>), and whether native
65+ /// attribution code is compiled into the binary.
66+ ///
67+ /// 2. Runtime: this flag. Controls whether attribution data is
68+ /// collected at runtime. Without the define, this setter is a
69+ /// no-op.
70+ ///
71+ /// Studios who set neither ship a clean binary — no AD_ID permission,
72+ /// no native attribution code, <c>NSPrivacyTracking = false</c>.
73+ /// </remarks>
74+ public bool EnableMobileAttribution { get ; set ; } = false ;
75+
76+ /// <summary>
77+ /// SKAdNetwork IDs the iOS post-processor injects into <c>Info.plist</c>
78+ /// at build time. Ignored on Android.
79+ /// </summary>
80+ /// <remarks>
81+ /// Read only when <see cref="EnableMobileAttribution"/> and the
82+ /// <c>AUDIENCE_MOBILE_ATTRIBUTION</c> scripting define are both set.
83+ /// </remarks>
84+ public string [ ] ? SKAdNetworkIds { get ; set ; }
85+
5286 /// <summary>
5387 /// Interval between automatic flushes to the backend, in seconds.
5488 /// </summary>
0 commit comments