▸Install the Flutter SDK
# pubspec.yaml
dependencies:
flutter:
sdk: flutter
respectlytics_flutter: ^3.0.0
Pure Dart — no platform channels for analytics. Same code on every platform Flutter compiles to (iOS, Android, web, macOS, Windows, Linux). On web, events are sent via the REST API; mobile platforms use the same path.
▸Initialize Respectlytics in Flutter
import 'package:flutter/material.dart';
import 'package:respectlytics_flutter/respectlytics_flutter.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Respectlytics.configure(appKey: '<YOUR_APP_KEY>');
runApp(const MyApp());
}
Initialize in main() after WidgetsFlutterBinding.ensureInitialized() and before runApp(). The future completes immediately on configuration; events queued before completion are flushed once the network is available.
✦Privacy & implementation notes
Cross-app tracking is the mechanism Apple's App Tracking Transparency was designed to gate. Apps that don't track across apps are the apps that don't need ATT. Respectlytics's no-cross-app posture isn't a feature you configure — it's the architecture's default. The compliance question shifts from "how do we track across apps without falling foul of ATT?" to "do we need to at all?".
Multi-app suites that need cross-app insight typically resolve this in their account / authentication layer: a shared user account with a single user ID that the company controls, queried from their account system (not from analytics). That keeps the per-user data in the system that legitimately needs it; analytics stays product-engagement-only.
The Flutter SDK is pure Dart. No MethodChannel, no platform-specific iOS or Android plugin code. The same code runs on every platform Flutter supports — including web and desktop targets. This eliminates one common audit surface ("what's the Android implementation doing?").
Always initialize after WidgetsFlutterBinding.ensureInitialized() and before runApp(). If you skip the binding step, the configure call will throw on platforms that need a binding for asynchronous I/O. The SDK documentation example uses this pattern by default.
⇋How this compares to other analytics SDKs
| Cross-app tracking | Firebase Analytics | Mixpanel | AppsFlyer | Respectlytics |
|---|---|---|---|---|
| Same user, different apps, same vendor | Possible (via IDFA/AAID) | Yes (with shared distinct_id) | Yes (via vendor account) | No (sessions are per-app) |
| Same user, different vendors' apps | Possible (with consent) | No | Yes | No |
| Lookalike audiences from your data | Possible (with consent) | Limited | Yes | No |
| First-party cross-app journey | Yes (within Firebase project) | Yes | Yes | No |
| Per-app analytics independence | Manageable | Manageable | Manageable | Default |
❓Frequently asked questions
If we have multiple apps from the same company, can we still see how a user moves between them?
Not via Respectlytics. Each app you instrument is its own analytics scope, with its own session IDs and event streams. If you genuinely need to correlate user behaviour across multiple of your apps, that's a use case Respectlytics doesn't serve — it requires a persistent cross-app identifier, which is exactly what the architecture rejects.
What about deferred deep links from app A to app B?
That's an attribution / routing concern, not an analytics one. Apple Universal Links and Android App Links route URLs natively. If you need deferred install attribution between apps, that's a job for an attribution SDK — but those typically rebuild the cross-app tracking surface Respectlytics avoids. Trade-off: pick one.
Can we still measure same-user behaviour within a single app session?
Yes — within one session_id (max 2 hours, RAM-only) you can derive intent paths, funnel completion, time-on-task, etc. The constraint is only the cross-session and cross-app boundaries; within one session everything is joinable by session_id.
What does this mean for a multi-app suite (e.g., main app + companion app)?
Each app has its own analytics. Aggregate metrics — "how many sessions in the suite this week" — sum naturally. User journeys across apps — "how many users used both" — are not measurable via Respectlytics; that data lives in your account system if it lives anywhere.