Skip to main content
This guide takes an Expo or React Native app from zero to its first events in Appeeky Analytics.

Prerequisites

  1. An Appeeky account with the app in My Apps.
  2. A React Native or Expo app that you can build as a development build. The SDK’s native module does not run in Expo Go.
  3. For revenue: RevenueCat in the app, and the RevenueCat webhook connected in Appeeky. See Revenue.

Setup

1

Turn on Analytics for the app

In Appeeky, open the app under My Apps → Attribution and click Turn on attribution. Appeeky creates the app in the analytics service and shows its publishable key (apk_pub_…) and ingest endpoint.You can do the same with the API:
The call is safe to repeat: if Analytics is already on, it returns the existing key.
The publishable key is not your Appeeky API key. It ships inside your app and can only write events for that one app. Never put your Appeeky API key in an app.
2

Install the SDK

expo-application and expo-device are optional. They add the app version, build number and exact device model.
3

Add the config plugin and rebuild

Add the plugin to app.json (or app.config.js):
The plugin adds the Info.plist keys that make iOS send copies of SKAdNetwork and AdAttributionKit postbacks to Appeeky. See SKAdNetwork before you add it if another provider already receives those copies.Rebuild the app as a development build (for example npx expo run:ios or an EAS development build). The native module adds Apple Search Ads attribution, SKAdNetwork conversion values and the Play Install Referrer.
4

Initialize the SDK

Call init once, as early as possible in the app’s startup:
The SDK sends to https://ingest.appeeky.com/v1/ingest by default. On first launch it records first_open, starts a session and collects the install’s attribution.
5

Link the install to RevenueCat

Pass the RevenueCat app user id so each purchase can be matched to the install that made it:
Call identify again with the new id after Purchases.logIn(), and pass null on logout.
6

Track screens

Screens power the screen breakdown, the funnel and the purchase journey in sale alerts. With React Navigation:
Name your paywall screen Paywall to match the default funnel (first open → Paywall → trial started → trial converted), or change the funnel.

Check That Events Arrive

  1. Turn on logging while you test: Appeeky.init({ key: "apk_pub_...", debug: true }). The SDK then logs rejected batches and network errors.
  2. Open the app on a device or simulator and move between a few screens. Events are sent every 10 seconds, when 20 are queued, and when the app goes to the background.
  3. In Appeeky, open the app’s Analytics dashboard and choose Today. The install shows under installs and online users once the first batch has been sent.
You can also read the dashboard with the API:
A first install from a simulator or a development build is usually Organic. That is expected: it did not come from an ad, a link or a referrer.

Common problems


Next Steps