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.