If you want to record the device’s ID for Advertisers (IDFA), you must display a prompt to get your user’s authorization. To do this, you need to include Apple’s App Tracking Transparency (ATT) framework in your app. The Adjust SDK stores the user’s authorization status and sends it to Adjust’s servers with each request.
Authorization statuses
Status | Code | Description |
---|---|---|
ATTrackingManagerAuthorizationStatusNotDetermined | 0 | The user hasn’t responded to the access prompt yet |
ATTrackingManagerAuthorizationStatusRestricted | 1 | Access to app-related data is blocked at the device level |
ATTrackingManagerAuthorizationStatusDenied | 2 | The user has denied access to app-related data for device tracking |
ATTrackingManagerAuthorizationStatusAuthorized | 3 | The user has approved access to app-related data for device tracking |
App-tracking authorization wrapper
The Adjust SDK contains a wrapper around Apple’s requestTrackingAuthorizationWithCompletionHandler
method. You can use this wrapper if you don’t want to customize the ATT prompt.
The callback method triggers when your user responds to the consent dialog. This method sends the user’s consent status code to Adjust’s servers. You can define responses to each status code within the callback function.
You must specify text content for the tracking request dialog. To do this, add your text to the NSUserTrackingUsageDescription
key in your Info.plist
file.
Example
This example shows how to log a human-readable description of the user’s authorization status when they interact with a prompt.
Get current authorization status
You can retrieve a user’s current authorization status at any time. Call the getAppTrackingAuthorizationStatus
method to return the authorization status code as an integer.
Example
This example shows how to collect the user’s authorization status and convert it to a String
. This information is assigned to a variable called authorizationStatus
and passed as a session partner parameter with the key "status"
.
Check for authorization status changes
If you use a custom ATT prompt, you need to inform the Adjust SDK of changes to the user’s authorization status. Call the checkForNewAttStatus
method to send the authorization status to Adjust’s servers.