ReadyNative

No analytics

The "No analytics" option of the ReadyNative Expo template: analytics.track/identify/screen are no-ops, feature flags read undefined.

Pro

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 none

There'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 none

Module id: analytics/none.

Files

2 files copied to the project root
  • src/lib/analytics.ts
  • src/lib/tracking.ts

On this page

Get ReadyNative