fix: idfa not populating for initial events#198
Open
sunitaprajapati89 wants to merge 3 commits intomainfrom
Open
fix: idfa not populating for initial events#198sunitaprajapati89 wants to merge 3 commits intomainfrom
sunitaprajapati89 wants to merge 3 commits intomainfrom
Conversation
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.
Bug 1 - Application Installed / Application Opened missing IDFA (race condition)
getTrackingStatus() was called fire-and-forget in the constructor. The ATT dialog is async (user must tap), so those lifecycle events fired before the future resolved.
Fix: Stored the future in_ trackingStatusFuture and overrode execute() to await it before forwarding each event.
the first two lifervale ones — nowa
All events - including the first two lifecycle ones - now wait for the ATT response before proceeding through the pipeline.
Bug 2 - trackingStatus: denied
but real IDFA UUID in advertisingId
When not authorized, the Swift code fell back to self.fallbackValue which returns the real IDFV (Identifier for Vendor) UUID. Apple's privacy model requires returning the all-zeros string when tracking is not authorized.
Fix (PluginIdfaPlugin.swift:10): Changed the fallback from self.fallbackValue (real IDFV) to the literal
"00000000-0000-0000-0000-0000000000 for all non-authorized states (denied, notDetermined, restricted).