Analytics for Capacitor and Ionic apps

One npm install and two lines in main.ts. See what people do in your Capacitor app next to your App Store, Google Play and RevenueCat numbers, without setting up Firebase.

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");

On npm. Every option: the Capacitor & Ionic docs.

What you get

  • Every screen by itself, from Angular, React or Vue routing. Ids in the address are grouped.
  • Opens, visits, updates and time in the app, from the real app's lifecycle, not the web page's.
  • Purchases tied to what people did first, through RevenueCat.
  • JavaScript errors and unhandled promise rejections, with the screen.
  • Both stores' downloads, reviews and sales on the same page.

Private by default

  • No App Tracking Transparency prompt: it never reads the advertising id (IDFA or GAID).
  • The IP address is used to tell the country, then dropped. It's never stored.
  • One random id per install, made by the SDK. A user id only if you set one.
  • Saved in the phone's own storage, not the WebView's, so nothing is lost when the WebView clears it.
  • optOut() stops it, and it's remembered. Your data is never sold or shared.

Questions

Does it need Firebase?

No. There's no GoogleService-Info.plist or google-services.json to add. It sends to Apparent directly.

Does it work with Ionic?

Yes. Ionic apps are Capacitor apps: Angular, React or Vue all work, and screens come from any router.

Does it need native code?

No native code of its own. It uses three official Capacitor plugins (App, Device, Preferences), so run npx cap sync once.

Which Capacitor versions?

Capacitor 5 and later, including 8.

Will events get lost offline?

No. Every event is saved on the phone first, and up to 1,000 wait a week for a connection.

Other SDKs

Also read

Your app already has a story. Start reading it.

14 days free. No card, no password.