iOS SDK
The AttributeHQ iOS SDK provides install attribution, event tracking, and ATT (App Tracking Transparency) support for native iOS apps.
Features
- Swift 5.7+ with iOS 13.0+ minimum deployment target
- Singleton pattern —
AttributeHQ.shared - ATT integration — Request IDFA permission with iOS 14+ App Tracking Transparency
- SKAdNetwork — Conversion value updates for privacy-preserving attribution
- Keychain persistence — Device ID survives app reinstalls
- Background flush — Events sent when app enters background
- Offline queue — Events persist across app launches
- Network-aware —
NWPathMonitorfor connectivity detection
Architecture
- Device ID priority: IDFA (if ATT authorized) → Keychain UUID → new UUID
- Thread safety: Serial
DispatchQueue(com.attributehq.sdk) - Storage: Keychain for device ID (persists across reinstalls), UserDefaults for events and settings
Distribution
- Swift Package Manager (recommended)
- CocoaPods
Quick Example
import AttributeHQ
// Initialize in AppDelegate
let config = AttributeHQConfiguration(
apiKey: "ak_your_api_key",
appId: "your-app-uuid"
)
try AttributeHQ.shared.initialize(configuration: config)
// Track events
AttributeHQ.shared.track(eventName: "purchase", properties: [
"amount": 1500,
"currency": "NGN"
])
// Get attribution
if let attribution = AttributeHQ.shared.getAttribution() {
print("Source: \(attribution.mediaSource ?? "organic")")
}Next Steps
- Installation — SPM and CocoaPods setup
- Event Tracking — Events, revenue, user identification
- ATT & IDFA — App Tracking Transparency and IDFA
- API Reference — Full method and type reference