Looking at the Firebase SDK I am trying to understand technically how Google is identifying the devices of users.
In the documentation I read:
Identifying devices The Google Analytics for Firebase SDK library uses an app-instance identifier to identify a unique installation of the App.
When using the SDK, an app-instance identifier gets generated at the app level.
By default, the Firebase SDK collects identifiers for mobile devices (for example, Android Advertising ID and Advertising Identifier for iOS) and utilizes technologies similar to cookies.
On iOS, the SDK collects the Advertising Identifier if it is available. For IDFA to be available, a developer has to link in the AdSupport.framework library.
If the Advertising Identifier is unavailable, the SDK collects the Vendor Identifier. If the Advertising Identifier becomes available after the Vendor Identifier was reported, the SDK stops collecting the Vendor Identifier.
By default, on Android the SDK collects the Advertising ID.
From this I understand that it uses:
iOS
On iOS, the SDK collects the Advertising Identifier if it is available. For IDFA to be available, a developer has to link in the AdSupport.framework library.
And the question becomes:
- how does the iOS AdSupport.framework library generate theuser identifier?
- is it really anonymous?
Android
- How does "Android Advertising ID" library generate the user identifier?
- is it really anonymous?
Any help understanding how this works under the hood would be much appreciated.