Skip to main content

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​

MethodDescriptionWhen to Call
UpdateAppleAdsToken(token)Send Apple Ads token to SDKBefore 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​

IssueSolution
Token is nullCheck device is iOS 14.3+
Error getting tokenCheck AdServices framework is available
Attribution not workingEnsure token is sent before Initialize()

For support, contact support@trackier.com.