What It Does
Mobile App Tracking:- iOS SDK (Swift) for native Apple apps
- React Native SDK for cross-platform apps
- Automatic session tracking
- Attribution tracking (App Store, organic)
- SKAdNetwork conversion value encoding
- Offline event queue
- App lifecycle tracking
iOS SDK (Swift)
Installation
Swift Package Manager: Xcode:- File → Add Packages
- Enter:
https://github.com/datalyr/datalyr-ios-sdk - Select version: 1.0.0+
Basic Usage
Initialize SDK:Configuration Options
SKAdNetwork Support
Initialize with SKAdNetwork:"ecommerce": Revenue-based encoding (0-6 brackets)"gaming": Level progression and IAP"subscription": Trial, active, churned states
Auto-Events
Automatically Tracked:app_install: First launchapp_open: App foregroundapp_close: App backgroundsession_start: New sessionsession_end: Session timeout
Attribution
Automatic Attribution: SDK captures attribution data on install:- App Store referrer
- Campaign parameters
- Install timestamp
Session Management
Get Session Info:Advanced Features
Flush Manually:SwiftUI Integration
React Native SDK
Installation
- React Native 0.60+
- iOS 13+ / Android 5.0+
Basic Usage
Initialize SDK:Configuration Options
SKAdNetwork Support (iOS)
Track with Automatic Encoding:Auto-Events
Automatically Tracked:app_install: First launchapp_open: App foregroundapp_close: App backgroundsession_start: New sessionsession_end: Session timeout
Attribution
Get Attribution Data:Session Management
Get Session Info:Advanced Features
Flush Manually:React Navigation Integration
TypeScript Support
Full TypeScript definitions included:Common Use Cases
E-commerce App
Subscription App
Gaming App
Best Practices
Initialize Early: Initialize SDK inAppDelegate (iOS) or index.js (React Native) before any events.
Flush Before Exit:
SDK automatically flushes on app background, but manually call flush() for critical events.
Handle Offline:
SDK queues events offline and sends when connection restored.
Test Conversion Values:
Use getConversionValue() to test SKAdNetwork encoding before production.
Privacy:
Enable respectDoNotTrack and collect user consent before tracking.
Troubleshooting
Events Not Appearing:- Verify API key from Settings → API Keys
- Check
debug: truefor logs - Ensure
initialize()called before tracking - Check Event Stream for events
- Enable
enableAttribution: true - Check attribution data with
getAttributionData() - Verify app launched from tracked source
- iOS 14+ required
- Check
skadTemplateset in config - Use
trackWithSKAdNetwork()instead oftrack() - Test with
getConversionValue()first
Platform Requirements
iOS SDK:- iOS 13.0+
- Xcode 14+
- Swift 5.5+
- React Native 0.60+
- iOS 13+ / Android 5.0+
- Node.js 14+