Ionic analytics, without Firebase

Most Ionic apps get analytics from the Firebase plugin: a Firebase project, two config files, native pods and Gradle changes. Apparent is one npm package and two lines in main.ts.

14 days free. No card, no password.

Add it

$ npm install apparent-capacitor @capacitor/app @capacitor/device @capacitor/preferences && npx cap sync

// Start it in the web app's entry file (src/main.ts or src/main.tsx), before the app mounts
import { Apparent } from "apparent-capacitor";

Apparent.init({ apiUrl: "https://in.apparent.fyi", app: "my-app", key: "<your key>" });

// Any router, next to init:
import { trackScreens } from "apparent-capacitor";
trackScreens();

// The actions that matter
Apparent.track("sign_up");

Next to the Firebase plugin

  • No Firebase project, no GoogleService-Info.plist, no google-services.json.
  • No native code of its own: three official Capacitor plugins and npx cap sync.
  • Screens from your router: Angular, React and Vue alike, ids grouped.
  • Reads as sentences: who's in the app now, who came back, who paid.
  • Your App Store, Google Play and RevenueCat numbers on the same page.

When Firebase is the better pick

If you need Google Ads conversions, BigQuery exports or Firebase's A/B tests, the Firebase plugin is built for that. Apparent is for knowing how the app is doing, in plain words.

Apparent's page for an example app: a sentence about how it did, the key numbers, and highlights like a first sale in Japan.
An example app on Apparent. Open the live demo: every button works.

Questions

Does it work with Ionic Angular, React and Vue?

Yes. It runs in any Capacitor app, and trackScreens() follows any router.

Does it need a Firebase project?

No. It sends to Apparent directly.

Does it count the web build too?

A browser build is sent as web, so it never mixes with your iPhone and Android numbers.

Do I need the ATT prompt?

No. It never reads the advertising id.

Also read

Your app already has a story. Start reading it.

14 days free. No card, no password.