No analytics
The "No analytics" option of the ReadyNative Expo template: analytics.track/identify/screen are no-ops, feature flags read undefined.
Expo Go: yes
Runs in Expo Go; no dev build needed for this module.
This is the no-op analytics option: no SDK, no network calls, no third-party account. It owns src/lib/analytics.ts as a re-export of the core shim, so @/lib/analytics keeps the same API whichever option you pick - analytics.track, analytics.identify and analytics.screen all do nothing. Pick this while you're still building, or when you'd rather not collect anything at all.
Setup
bun run setup --analytics noneThere's nothing to configure and no keys to paste. The root layout still calls analytics.screen(pathname) on every route change; it goes nowhere.
When you want the numbers, switch with bun run setup --analytics posthog or --analytics amplitude.
Usage
The calls exist and are safe to write today, so screens don't need rewriting when you switch:
import { analytics } from "@/lib/analytics";
analytics.track("checkout_started", { plan: "pro" }); // no-op
analytics.identify(user.id, { email: user.email }); // no-op
analytics.isFeatureEnabled("new-paywall"); // undefined - gate on `=== true`Gotchas
- Events sent while this option is selected are gone - nothing is buffered and replayed when you switch.
- Nothing here needs a dev build; Expo Go is fine.
Reference
Everything below is generated from modules/analytics/none/module.json - the same file bun run setup reads, so it is what actually lands in your repo.
Install
bun run setup --analytics noneModule id: analytics/none.
Files
2 files copied to the project root
src/lib/analytics.tssrc/lib/tracking.ts