Conversation
…ig (SDK-305) Entry-point ticket for the mobile attribution stretch work. Adds two opt-in surfaces; downstream tickets (SDK-306/308/309/315) wire them up: - AudienceConfig.EnableMobileAttribution (default false): runtime gate for whether attribution data is collected and emitted on game_launch. - AudienceConfig.SKAdNetworkIds: optional list, read by the iOS post-processor at build time when the scripting define is set. XML doc on EnableMobileAttribution documents the two-gate model: studios opt in via both the AUDIENCE_MOBILE_ATTRIBUTION scripting define and this runtime flag. Without the define, no AD_ID permission, no native attribution code, NSPrivacyTracking false; with define + flag false, native code compiled in but no data collected; with both, full flow.
3ea4d79 to
32d8943
Compare
ImmutableJeffrey
approved these changes
May 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Entry-point ticket for the mobile attribution stretch work. Adds two opt-in surfaces on
AudienceConfig; downstream tickets (SDK-306, SDK-308, SDK-309, SDK-315) will wire them up to the manifest, Privacy Manifest, and native code paths.EnableMobileAttribution(defaultfalse) — runtime gate for whether attribution data is collected and emitted ongame_launch.SKAdNetworkIds(string[], optional) — list of SKAdNetwork IDs the iOS post-processor injects intoInfo.plistat build time.Two-gate model
The XML doc on
EnableMobileAttributionspells this out, but in short: studios opt into attribution via both gates.AUDIENCE_MOBILE_ATTRIBUTIONEnableMobileAttributionNSPrivacyTracking = false, no native attribution codefalsetrueThe build-time gate keeps the binary clean for studios that never opt in (no Apple review flag, no Play Store warning). The runtime gate allows staged rollouts via remote config.
Notes
#if UNITY_IOS || UNITY_ANDROID— that would force studios to wrap their bootstrap code in matching guards. Same convention as Firebase, Sentry, Unity Analytics: fields exist on all platforms, no-op where irrelevant.Test plan
AudienceConfigTests.cs)