Integrating Flurry analytics into a mobile application
Flurry — one of the oldest mobile analytics SDKs, owned by Yahoo. Niche application: applications that need a free tool with basic metrics without ties to Google or Apple ecosystems. SDK is lightweight, compatible with iOS 13+ and Android API 21+, doesn't conflict with other analytics SDKs.
SDK connection
iOS via CocoaPods:
pod 'Flurry-iOS-SDK/FlurrySDK'
Or via Swift Package Manager — repository flurry/flurry-ios-sdk.
Initialization:
import Flurry_iOS_SDK
// AppDelegate
let builder = FlurrySessionBuilder()
.withLogLevel(FlurryLogLevelAll) // debug only
.withCrashReporting(true)
.withAppVersion(Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String)
Flurry.startSession("YOUR_API_KEY", with: builder)
Android via Maven:
implementation("com.flurry.android:analytics:14.+")
// Application.onCreate()
FlurryAgent.Builder()
.withLogEnabled(BuildConfig.DEBUG)
.withCaptureUncaughtExceptions(true)
.build(this, "YOUR_API_KEY")
Custom events
// iOS — simple event
Flurry.log(eventName: "product_viewed")
// Event with parameters
Flurry.log(
eventName: "purchase_completed",
parameters: ["product_id": "sku_123", "price": "990", "currency": "RUB"]
)
// Timed event — for measuring duration
Flurry.log(timedEventName: "video_playback", parameters: nil)
// ... later:
Flurry.endTimedEvent("video_playback", withParameters: ["duration": "120"])
Timed events — unique Flurry feature: SDK measures time between log(timedEventName:) and endTimedEvent, and the dashboard shows average duration across all users.
User ID and demographics
Flurry.set(userId: "user_\(userId)")
// Age and gender — Flurry uses for aggregated demographics
Flurry.setAge(28)
Flurry.setGender("m") // "m" / "f"
Demographic data — Flurry processes aggregately — the dashboard shows statistics by age groups, not individual records.
Limitations worth knowing
Flurry is not designed for real-time analytics: data appears in the dashboard with hours of delay. No built-in funnels with arbitrary depth — only predefined reports. For serious product analysis, look toward Amplitude or Mixpanel.
Also: Flurry doesn't support raw event data export (raw events) on the free plan — only aggregated metrics in the UI.
What's included in the work
- Adding SDK (CocoaPods / SPM on iOS, Gradle on Android)
- Initialization with debug/release settings
- Custom events by tracking plan
- Timed events for long user actions
- Setting User ID and basic attributes
Timeline
Full integration: 1 day. Cost calculated individually.







