Skip to main content

Legacy iOS Tracking

Deprecated — do not use for new games

Legacy iOS SDK is in maintenance-only mode and will be removed. New games must use SDK v2 Tracking.

The legacy iOS SDK exposes basic event logging through OEGManager and includes an AdjustTracking helper for Adjust-specific flows.

Use OEGManager when you want simple SDK-level logging. Use AdjustTracking when your game owns explicit Adjust event tokens and callback parameters.

Log custom events with OEGManager

[[OEGManager sharedManager] logEvent:@"login" withValues:nil];

[[OEGManager sharedManager] logEvent:@"tutorial_complete"
withValues:@{
@"step": @"5",
@"character": @"mage"
}];

Use stable event names across Android and iOS so analytics dashboards stay aligned.

Use Adjust tracking directly

If your app integrates Adjust event tokens directly, the framework includes AdjustTracking.

#import <OEGFramework/AdjustTracking.h>

AdjustTracking *tracking = [AdjustTracking shareTracking];
[tracking setupWithAppToken:@"YOUR_ADJUST_APP_TOKEN"];
[tracking trackEventToken:@"EVENT_TOKEN_LOGIN"];

Track events with custom parameters

The framework now supports sending callback parameters without revenue:

[[AdjustTracking shareTracking] trackEventToken:@"<token>"
parameters:@{
@"user_id": @"12345",
@"amount": @"10",
@"server_id": @"SV01",
@"os": @"iOS"
}];

Typical event shapes:

// level_achieved
[[AdjustTracking shareTracking] trackEventToken:@"<token>"
parameters:@{
@"user_id": @"12345",
@"amount": @"10",
@"server_id": @"SV01",
@"os": @"iOS"
}];

// tutorial_completion
[[AdjustTracking shareTracking] trackEventToken:@"<token>"
parameters:@{
@"user_id": @"12345",
@"server_id": @"SV01",
@"os": @"iOS"
}];

// app_opened
[[AdjustTracking shareTracking] trackEventToken:@"<token>"
parameters:@{
@"user_id": @"12345",
@"session_id": @"sess_abc",
@"os_version": [[UIDevice currentDevice] systemVersion],
@"time_open": [NSString stringWithFormat:@"%lld", (long long)[[NSDate date] timeIntervalSince1970]]
}];

// vip_achieved
[[AdjustTracking shareTracking] trackEventToken:@"<token>"
parameters:@{
@"user_id": @"12345",
@"vip_level": @"3",
@"total_spent": @"500",
@"time_to_vip": @"72"
}];

Track revenue events

Revenue-only example:

[tracking trackEventToken:@"EVENT_TOKEN_PURCHASE"
revenue:9.99
currency:@"USD"
transactionId:@"TRANS_123456"];

Revenue with callback parameters:

[[AdjustTracking shareTracking] trackEventToken:@"EVENT_TOKEN_PURCHASE"
revenue:9.99
currency:@"USD"
transactionId:@"TRANS_123456"
parameters:@{
@"user_id": @"12345",
@"server_id": @"SV01",
@"product_id": @"com.oeg.gift.001",
@"os": @"iOS"
}];

App Tracking Transparency

When required by your app policy, request tracking permission before sending Adjust events:

[tracking requestTrackingPermission];

Notes

  • OEGManager is the simpler integration point when you only need SDK-level event logging.
  • AdjustTracking is useful when your game manages event tokens explicitly.
  • Use [AdjustTracking shareTracking] instead of creating your own instance.
  • parameters should contain string key-value pairs because they are sent as Adjust callback parameters.
  • Keep revenue and transaction identifiers consistent with the purchase flow you expose to players.