Mobile analytics solutions by SDK and technical property
Implementation guides organised by SDK (Swift, Kotlin, React Native, Flutter) and the privacy property you need. Each page has the install + init snippet, a comparison vs other SDKs, and the operational FAQ for that combination.
53 guides published
-
How to add Swift (iOS) analytics with no IDFA collection
Add analytics to a Swift (iOS) app without collecting Apple's IDFA. Helps developers avoid collecting personal data in the first place.
Read guide -
How to add React Native analytics with no IDFA collection
Add analytics to a React Native app without collecting Apple's IDFA. Helps developers avoid collecting personal data in the first place.
Read guide -
How to add Flutter analytics with no IDFA collection
Add analytics to a Flutter app without collecting Apple's IDFA. Helps developers avoid collecting personal data in the first place.
Read guide -
How to add Kotlin (Android) analytics with no AAID collection
Add analytics to a Kotlin (Android) app without collecting Google's AAID. No AD_ID permission. Privacy-by-architecture.
Read guide -
How to add React Native analytics with no AAID collection
Add analytics to a React Native app without collecting Google's AAID. No AD_ID permission. Privacy-by-architecture.
Read guide -
How to add Flutter analytics with no AAID collection
Add analytics to a Flutter app without collecting Google's AAID. No AD_ID permission. Privacy-by-architecture.
Read guide -
How to add Swift (iOS) analytics with no ATT prompt
Add analytics to a Swift (iOS) iOS app without showing the App Tracking Transparency prompt. No NSUserTrackingUsageDescription needed.
Read guide -
How to add React Native analytics with no ATT prompt
Add analytics to a React Native iOS app without showing the App Tracking Transparency prompt. No NSUserTrackingUsageDescription needed.
Read guide -
How to add Flutter analytics with no ATT prompt
Add analytics to a Flutter iOS app without showing the App Tracking Transparency prompt. No NSUserTrackingUsageDescription needed.
Read guide -
How to add Swift (iOS) analytics with no third-party trackers
Add analytics to a Swift (iOS) app without any third-party tracker dependencies in your supply chain.
Read guide -
How to add Kotlin (Android) analytics with no third-party trackers
Add analytics to a Kotlin (Android) app without any third-party tracker dependencies in your supply chain.
Read guide -
How to add React Native analytics with no third-party trackers
Add analytics to a React Native app without any third-party tracker dependencies in your supply chain.
Read guide -
How to add Flutter analytics with no third-party trackers
Add analytics to a Flutter app without any third-party tracker dependencies in your supply chain.
Read guide -
How to add Swift (iOS) analytics with zero device storage
Add analytics to a Swift (iOS) app without writing a single byte to disk. RAM-only event queue.
Read guide -
How to add Kotlin (Android) analytics with zero device storage
Add analytics to a Kotlin (Android) app without writing a single byte to disk. RAM-only event queue.
Read guide -
How to add React Native analytics with zero device storage
Add analytics to a React Native app without writing a single byte to disk. RAM-only event queue.
Read guide -
How to add Flutter analytics with zero device storage
Add analytics to a Flutter app without writing a single byte to disk. RAM-only event queue.
Read guide -
How Swift (iOS) analytics works with a RAM-only event queue
Swift (iOS) analytics events are held in memory only — flushed every 30 seconds, lost on force-quit by design.
Read guide -
How Kotlin (Android) analytics works with a RAM-only event queue
Kotlin (Android) analytics events are held in memory only — flushed every 30 seconds, lost on force-quit by design.
Read guide -
How React Native analytics works with a RAM-only event queue
React Native analytics events are held in memory only — flushed every 30 seconds, lost on force-quit by design.
Read guide -
How Flutter analytics works with a RAM-only event queue
Flutter analytics events are held in memory only — flushed every 30 seconds, lost on force-quit by design.
Read guide -
How to add Swift (iOS) analytics with a 5-field event schema
Add analytics to a Swift (iOS) app where every event stores only 5 fields. Extra fields are rejected at the API.
Read guide -
How to add Kotlin (Android) analytics with a 5-field event schema
Add analytics to a Kotlin (Android) app where every event stores only 5 fields. Extra fields are rejected at the API.
Read guide -
How to add React Native analytics with a 5-field event schema
Add analytics to a React Native app where every event stores only 5 fields. Extra fields are rejected at the API.
Read guide -
How to add Flutter analytics with a 5-field event schema
Add analytics to a Flutter app where every event stores only 5 fields. Extra fields are rejected at the API.
Read guide -
How Swift (iOS) analytics handles geolocation (country only)
Swift (iOS) analytics with country-level geolocation only. IPs are processed transiently for country lookup, then discarded.
Read guide -
How Kotlin (Android) analytics handles geolocation (country only)
Kotlin (Android) analytics with country-level geolocation only. IPs are processed transiently for country lookup, then discarded.
Read guide -
How React Native analytics handles geolocation (country only)
React Native analytics with country-level geolocation only. IPs are processed transiently for country lookup, then discarded.
Read guide -
How Flutter analytics handles geolocation (country only)
Flutter analytics with country-level geolocation only. IPs are processed transiently for country lookup, then discarded.
Read guide -
How Swift (iOS) analytics rotates session IDs every 2 hours
Swift (iOS) analytics rotates session IDs automatically every two hours and on app restart. No persistent user ID.
Read guide -
How Kotlin (Android) analytics rotates session IDs every 2 hours
Kotlin (Android) analytics rotates session IDs automatically every two hours and on app restart. No persistent user ID.
Read guide -
How React Native analytics rotates session IDs every 2 hours
React Native analytics rotates session IDs automatically every two hours and on app restart. No persistent user ID.
Read guide -
How Flutter analytics rotates session IDs every 2 hours
Flutter analytics rotates session IDs automatically every two hours and on app restart. No persistent user ID.
Read guide -
How Swift (iOS) analytics avoids device fingerprinting
Swift (iOS) analytics that doesn't fingerprint devices. No model+OS+screen +locale combinations stored as identifiers.
Read guide -
How Kotlin (Android) analytics avoids device fingerprinting
Kotlin (Android) analytics that doesn't fingerprint devices. No model+OS+screen +locale combinations stored as identifiers.
Read guide -
How React Native analytics avoids device fingerprinting
React Native analytics that doesn't fingerprint devices. No model+OS+screen +locale combinations stored as identifiers.
Read guide -
How Flutter analytics avoids device fingerprinting
Flutter analytics that doesn't fingerprint devices. No model+OS+screen +locale combinations stored as identifiers.
Read guide -
How Swift (iOS) analytics avoids cross-app tracking
Swift (iOS) analytics with no cross-app identifiers. Sessions are scoped to a single app install.
Read guide -
How Kotlin (Android) analytics avoids cross-app tracking
Kotlin (Android) analytics with no cross-app identifiers. Sessions are scoped to a single app install.
Read guide -
How React Native analytics avoids cross-app tracking
React Native analytics with no cross-app identifiers. Sessions are scoped to a single app install.
Read guide -
How Flutter analytics avoids cross-app tracking
Flutter analytics with no cross-app identifiers. Sessions are scoped to a single app install.
Read guide -
How to add Swift (iOS) analytics with EU data residency
Add analytics to a Swift (iOS) app where all stored data lives on EU infrastructure. Self-host option for any region.
Read guide -
How to add Kotlin (Android) analytics with EU data residency
Add analytics to a Kotlin (Android) app where all stored data lives on EU infrastructure. Self-host option for any region.
Read guide -
How to add React Native analytics with EU data residency
Add analytics to a React Native app where all stored data lives on EU infrastructure. Self-host option for any region.
Read guide -
How to add Flutter analytics with EU data residency
Add analytics to a Flutter app where all stored data lives on EU infrastructure. Self-host option for any region.
Read guide -
How to self-host Respectlytics for Swift (iOS) analytics
Self-host Respectlytics on your own infrastructure for Swift (iOS) analytics. AGPL-3.0 server, MIT SDK.
Read guide -
How to self-host Respectlytics for Kotlin (Android) analytics
Self-host Respectlytics on your own infrastructure for Kotlin (Android) analytics. AGPL-3.0 server, MIT SDK.
Read guide -
How to self-host Respectlytics for React Native analytics
Self-host Respectlytics on your own infrastructure for React Native analytics. AGPL-3.0 server, MIT SDK.
Read guide -
How to self-host Respectlytics for Flutter analytics
Self-host Respectlytics on your own infrastructure for Flutter analytics. AGPL-3.0 server, MIT SDK.
Read guide -
How Swift (iOS) analytics works with an open-source SDK
Swift (iOS) analytics with an MIT-licensed, fully open-source SDK you can audit, fork, and modify.
Read guide -
How Kotlin (Android) analytics works with an open-source SDK
Kotlin (Android) analytics with an MIT-licensed, fully open-source SDK you can audit, fork, and modify.
Read guide -
How React Native analytics works with an open-source SDK
React Native analytics with an MIT-licensed, fully open-source SDK you can audit, fork, and modify.
Read guide -
How Flutter analytics works with an open-source SDK
Flutter analytics with an MIT-licensed, fully open-source SDK you can audit, fork, and modify.
Read guide
Privacy-first analytics, by design.
Helps developers avoid collecting personal data in the first place. Five-field event schema. RAM-only event queue.