Apple Update Token
The Apple Update Token allows you to update Apple's Ads Attribution token for enhanced tracking on iOS devices.
What is Apple Update Token?
Apple's Ads Attribution token (from AdServices framework) helps track installs from Apple Search Ads campaigns. This is different from IDFA - it's specifically used for Apple Search Ads attribution.
Requirements
- iOS 14.3 or later
- AdServices framework
Implementation
Step 1: Create Helper Method (Platforms/iOS/AppTrackingHelper.cs)
using AdServices;
using Foundation;
using UIKit;
namespace YourApp.Platforms.iOS;
public static class AppTrackingHelper
{
/// <summary>
/// Get Apple Search Ads Attribution Token from AdServices framework
/// This is different from IDFA - used for Apple Search Ads attribution
/// Requires iOS 14.3+
/// </summary>
public static Task<string?> GetAppleAdsAttributionTokenAsync()
{
return Task.Run(() =>
{
try
{
if (!UIDevice.CurrentDevice.CheckSystemVersion(14, 3))
{
Console.WriteLine("AdServices requires iOS 14.3+");
return null;
}
NSError? error;
var token = AAAttribution.GetAttributionToken(out error);
if (error != null)
{
Console.WriteLine($"Error getting attribution token: {error.LocalizedDescription}");
return null;
}
Console.WriteLine($"Got attribution token (length: {token?.Length ?? 0})");
return token;
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
return null;
}
});
}
}
Step 2: Send Token Before SDK Init (App.xaml.cs)
Important
Call UpdateAppleAdsToken() before Initialize() to ensure proper Apple Search Ads attribution.
using AppTroveSDK.Maui;
public partial class App : Application
{
public static string? AppleAdsToken { get; private set; }
public static async Task InitializeSDKAsync()
{
// Get Apple Ads Attribution Token (iOS only)
if (OperatingSystem.IsIOS())
{
AppleAdsToken = await GetAppleAdsTokenAsync();
Console.WriteLine($"Apple Ads Token = {(AppleAdsToken != null ? "obtained" : "null")}");
}
var config = new AppTroveSDKConfig("your-sdk-key", AppTroveEnvironment.Production);
// Send Apple Ads Attribution Token before init (iOS)
if (OperatingSystem.IsIOS() && !string.IsNullOrEmpty(AppleAdsToken))
{
AppTroveSDK.UpdateAppleAdsToken(AppleAdsToken);
Console.WriteLine("Sent Apple Ads Attribution Token");
}
// Initialize SDK
AppTroveSDK.Initialize(config);
}
private static Task<string?> GetAppleAdsTokenAsync()
{
#if IOS
return Platforms.iOS.AppTrackingHelper.GetAppleAdsAttributionTokenAsync();
#else
return Task.FromResult<string?>(null);
#endif
}
}
Function Reference
| Method | Description | When to Call |
|---|---|---|
UpdateAppleAdsToken(token) | Send Apple Ads token to SDK | Before Initialize() |
Important Notes
Apple Ads Token vs IDFA
- Apple Ads Token: From AdServices framework, used for Apple Search Ads attribution
- IDFA: From ATT framework, used for general ad tracking
These are two different things. You can use both in your app.
Troubleshooting
| Issue | Solution |
|---|---|
| Token is null | Check device is iOS 14.3+ |
| Error getting token | Check AdServices framework is available |
| Attribution not working | Ensure token is sent before Initialize() |
For support, contact support@trackier.com.