You launched an MVP, and Firebase feels like overkill: it drags in Google Play Services, adds 2.5 MB to the build, and you only need basic sessions and a few custom events. Flurry Analytics solves this: the SDK weighs 1.2 MB, requires no attachment to Google or Apple ecosystems, supports timed events "out of the box", and charges no monthly fee. Over 7 years, we've implemented Flurry in 30+ apps—from startups to enterprise solutions with audiences over 10 million users. Below are ready configs for iOS and Android, event templates, and a real case of doubling analytics speed. Get a ready tracking plan and demo dashboard access—leave a request.
Why Choose Flurry over Firebase Analytics?
Flurry provides similar basic functionality—sessions, events, demographics—but without integration with Google Play Services. If your app uses only Apple Push or a custom backend, Flurry simplifies architecture. Moreover, timed events measure user action duration (video, reading, form filling) without extra code. Based on our experience, Flurry adds only 1.2 MB to IPA/APK size—2 times less than Firebase Analytics with dependencies (2.5 MB). The SDK supports iOS 13+ and Android API 21+, ensuring data delivery latency under 30 minutes.
Integrating Flurry on iOS and Android
iOS via CocoaPods:
pod 'Flurry-iOS-SDK/FlurrySDK' Or via Swift Package Manager—repository flurry/flurry-ios-sdk. Initialization:
import Flurry_iOS_SDK let builder = FlurrySessionBuilder() .withLogLevel(FlurryLogLevelAll) // only in debug .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.+") FlurryAgent.Builder() .withLogEnabled(BuildConfig.DEBUG) .withCaptureUncaughtExceptions(true) .build(this, "YOUR_API_KEY") The source code for Flurry iOS SDK is available on GitHub. Initialization Parameters Table:
| Parameter | iOS | Android | Purpose |
|---|---|---|---|
| LogLevel / LogEnabled | withLogLevel(.all) | withLogEnabled(true) | Enable logs (debug only) |
| CrashReporting | withCrashReporting(true) | withCaptureUncaughtExceptions(true) | Automatic crash collection |
| AppVersion | withAppVersion(...) | — (taken from manifest) | App version for filtering |
| UserID | setUserId(...) | FlurryAgent.setUserId(...) | User identification |
Flurry vs Firebase Analytics:
| Criterion | Flurry | Firebase Analytics |
|---|---|---|
| Price | Free | Free (with limits) |
| Timed events | Built-in | No (need custom implementation) |
| SDK size | ~1.2 MB | ~2.5 MB (with dependencies) |
| Data export | Aggregated only | BigQuery (paid) |
How to Set Up Custom Events and Timed 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 Flurry.log(timedEventName: "video_playback", parameters: nil) Flurry.endTimedEvent("video_playback", withParameters: ["duration": "120"]) // User ID and demographics Flurry.set(userId: "user_\(userId)") Flurry.setAge(28) Flurry.setGender("m") // "m" / "f" Timed events are a unique Flurry feature: the SDK measures the time between log(timedEventName:) and endTimedEvent, and the dashboard shows the average duration across all users. This helps identify problematic screens where users get stuck. Demographic data is processed in aggregate—the dashboard displays statistics by age group without linking to specific users, complying with GDPR and CCPA.
Integration Process
- Audit current analytics—determine which events are already tracked and which metrics are needed.
- Prepare a tracking plan—agree on the list of events and parameters with the product manager.
- Add the SDK—via CocoaPods/SPM (iOS) or Gradle (Android).
- Initialize and test—verify that the SDK starts and sends a session.
- Integrate custom events—add events per plan, including timed events.
- Configure User ID and attributes—pass userId, age, gender.
- QA and monitoring—check data display in dashboard, latency under 30 minutes.
- Deploy—roll out update via App Store / Google Play.
What the Integration Includes?
- Documentation: tracking plan with full list of events and parameters.
- Dashboard access: demo dashboard with test data for verification.
- Team training: session on working with Flurry and interpreting reports.
- Support: 2 weeks of post-production monitoring and adjustments.
Our Experience
Over 7 years, we've helped businesses set up mobile app analytics. Flurry integration is one of the fastest in our portfolio: from 1 to 3 working days depending on tracking plan complexity. Thanks to the SDK's simplicity, the cost of Flurry integration is 30-40% lower than competitors, saving up to 40% of your analytics budget. We guarantee that the SDK will not affect app performance and provide a report on tested events. After delivery, you receive a documented tracking plan and demo dashboard access.
Timeline
Full integration with team training—from 2 to 5 days. Cost is calculated individually for your project—contact us for a preliminary estimate.
Contact us to discuss Flurry integration details for your app. Get a consultation on analytics tool selection and current system optimization.







