Airbridge Device ID
Device identifier by Airbridge. (example: 82A16EC9-A273-48B6-9BB2-017EAB641109)iOS SDK
iOS SDK (Deprecated)
Airbridge Generated ID
Random UUID assigned by Airbridge upon app install on each device. (example: 82A16EC9-A273-48B6-9BB2-017EAB641109)iOS SDK
iOS SDK (Deprecated)
ATT (App Tracking Transparency)
On iOS 14.5 and later, apps must obtain consent through ATT (App Tracking Transparency) to track users across other companies’ apps and websites or access the IDFA. Users can choose whether to allow tracking in the system prompt. You can use the Airbridge iOS SDK to request ATT authorization and check the current authorization status. Your app must explicitly call the authorization request API.Before you begin
- Initialize the Airbridge SDK before calling these APIs.
- These APIs are available in the standard iOS SDK and are not provided in the Restricted SDK.
- Add
NSUserTrackingUsageDescriptionto your app’sInfo.plist. This value explains the tracking purpose in the ATT prompt. Replace the example text below with a description of your app’s actual data usage.
Request ATT authorization
CallrequestTrackingAuthorization to forward an authorization request to Apple’s ATT API.
The SDK does not wait for the app to become active, so call this API while the app is active.
To request authorization at app launch, call it after SDK initialization when the app becomes active, such as in applicationDidBecomeActive or sceneDidBecomeActive.
Interpret the return value separately from the completion handler:
- A return value of
truemeans the SDK accepted the request for processing. It does not indicate whether the prompt appeared or whether the user authorized tracking. - If the SDK is not initialized or is disabled, the API returns
falsewithout calling the completion handler. - The completion handler runs on the main queue and receives the ATT status as
AirbridgeTrackingAuthorization.
Check the ATT authorization status
trackingAuthorizationStatus() synchronously returns the current ATT status.
Checking the status does not display the ATT prompt or request authorization.
If the SDK is not initialized or is disabled, the API returns notDetermined.
In this case, first check that the SDK is initialized and enabled.
Understand ATT statuses
Both the request result and the status query useAirbridgeTrackingAuthorization.
In environments that do not support ATT, such as iOS versions earlier than 14, requests and status queries return
authorized when the standard SDK is initialized and enabled.
This is the SDK’s return value for unsupported environments and must not be interpreted as user consent through an ATT prompt.
You do not need to add an iOS version check in your app to call these APIs.
If the prompt does not appear
Whether the ATT prompt appears depends on Apple’s behavior and the user’s settings. The prompt may not appear even when the request returnstrue.
Check the following:
- Make sure the app is active. The prompt may not appear if you request authorization before the app becomes active or while it is in the background.
- Check whether another permission request, such as notifications, is waiting for a response. Request ATT authorization after the previous request completes instead of making permission requests simultaneously. iOS does not retain simultaneous permission requests to display later.
- Check the completion handler or status query result. If the status is
notDetermined, check the display conditions and request authorization again from your app as needed. The SDK does not automatically retry or merge duplicate requests. - Check whether the user denied tracking in Settings or the system restricts tracking requests. Calling the API again after the status has been determined does not guarantee that the prompt will reappear or that authorization will change.
- Check the
NSUserTrackingUsageDescriptionvalue inInfo.plist.
Use with the existing ATT timeout setting
Consider the ATT authorization request API together with the SDK’s existing ATT decision timeout setting. The SDK’s existing ATT status checks and processing wait behavior remain unchanged. By default, processing for the install event, deferred deep links, and attribution waits up to 30 seconds for the ATT status to be determined. If you configured a different timeout, that value applies.requestTrackingAuthorization forwards the authorization request without restarting or extending the existing timeout.
trackingAuthorizationStatus() does not change ATT decision processing or the stored processing state.
If the timeout expires while ATT authorization is still undetermined, the SDK’s pending processing may proceed.
Review the existing autoDetermineTrackingAuthorizationTimeout setting based on when your app requests authorization and how much time users need to respond.
This setting controls the SDK’s processing wait time and does not change whether the ATT prompt appears or the user’s authorization status.