▸Example AppsFlyer call (the "before")
import AppsFlyerLib
// ATT prompt path — required before AppsFlyer reads IDFA:
ATTrackingManager.requestTrackingAuthorization { _ in
AppsFlyerLib.shared().start()
AppsFlyerLib.shared().logEvent("af_purchase", withValues: [
AFEventParamRevenue: price,
AFEventParamCurrency: "USD",
AFEventParamContentId: sku,
])
}
App-binary size affects download conversion (especially on lower-end devices and cellular networks) and storage pressure for users with full phones. Heavy analytics SDKs (Firebase Analytics, AppsFlyer, Branch) routinely add several MB to the binary; Respectlytics's per-platform SDK is under 100 KB.
☑Remove AppsFlyer cleanly
-
1
Remove the AppsFlyer SDK from your build (
AppsFlyerFramework/af-android-sdk/react-native-appsflyer/appsflyer_sdk) -
2
Remove
AppsFlyerLib.shared().start()andlogEvent(...)call sites -
3
Re-check your
Info.plistforNSUserTrackingUsageDescription— if no other SDK needs ATT, remove it (Apple flags apps that ship the key without code that callsATTrackingManager) -
4
Re-check your Android merged manifest for
com.google.android.gms.permission.AD_IDand remove the corresponding<uses-permission>if no other SDK contributes it -
5
Plan how you'll attribute installs without AppsFlyer — Apple SKAdNetwork + Google Play Install Referrer (both first-party, no SDK needed) cover most cases
⇋AppsFlyer vs Respectlytics — smaller app binary
| AppsFlyer | Respectlytics | |
|---|---|---|
| Typical contribution to IPA size | — see tool note above | < 100 KB |
| Typical contribution to APK / AAB size | — see tool note above | < 100 KB |
| Transitive dependencies | — see tool note above | None (zero third-party) |
❓Frequently asked questions
How much do these SDKs typically add to my binary?
Varies by SDK. The cleanest way to see for your specific app is to build the release AAB twice — once with the SDK, once without — and diff the artefact sizes. Google's Android App Bundle Explorer or bundletool does this directly. Order-of-magnitude on a fresh Android app: heavy attribution SDKs and Firebase Analytics each add several megabytes once you account for transitive dependencies; lighter SDKs that ship as a single thin library may add a few hundred KB once shared deps are de-duplicated.
Does binary size actually affect downloads?
Yes — particularly past Apple's 200 MB cellular-download cap and on lower-end Android devices with limited storage. Google's Play Console has internal metrics showing measurable install-rate differences when AAB size crosses common thresholds (50 MB, 100 MB).
How does the size reduction work in practice?
Removing a single ~3 MB SDK from your release build shrinks the binary by roughly that amount. Multiplied by user installs, the cellular-data savings compound. iOS App Thinning handles per-device variants; Android AAB delivers size-optimised installs by ABI / density / language.
Does the smaller SDK come at a feature cost?
Respectlytics intentionally doesn't bundle features it considers separate concerns: no ads, no attribution, no in-app messaging, no A/B testing, no crash reporting. Each of those is a dedicated tool's job. The smaller surface is the deliberate design — you add only what you actually use.