Lightweight behavioural analytics for Keewano AI Analyst. These guides cover the React Native, Expo, and Node.js SDKs; the SDK is built on a platform-agnostic core, ready for future platforms such as Web.
The SDK collects behavioural telemetry - taps, screens, in-app purchases, ad
revenue, errors - and ships it to the Keewano backend in a compact binary format.
Most of it is tracked automatically after a single init call; anything
game-specific you report through a small manual API or your own typed custom
events. The wire format is shared across all Keewano SDKs, so one
backend ingests data from all of them.
- Effortless integration - install one package and call
Keewano.init({ apiKey }). Automatic tracking starts immediately. - Automatic event tracking - app lifecycle, button taps, deep links, and errors are captured with no extra code; screen tracking is one opt-in hook away. Manual and custom events are opt-in on top.
- Minimalistic - no schemas to maintain; the common events fire automatically and custom events are an opt-in extra, not a requirement.
- Compact binary format - events are encoded as compact binary (variable-length integers, packed records), not JSON, so there is no serialization overhead on the wire.
- Non-blocking by design - events accumulate in memory and are flushed by a background async loop off the render path, double-buffered so collection and delivery never block each other.
- Persistence-first - every batch is written to disk before any network attempt, so a crash or a dropped connection never loses data.
- Lean footprint - pure TypeScript, no native code, and no heavy third-party dependencies; it relies only on the platform's own file system.
Start here
- Getting Started - install, initialise, and report your first events
- Configuration - every
initoption - Automatic Tracking - what is captured with no extra code
- Event Types - the full map of events
Server
- Node.js (Server Relay) - report analytics from a backend on behalf of many users
Reporting events
- Windows and Buttons - button clicks, windows, and popups
- In-App Purchases - purchases and granted items
- Ad Revenue - ad offers, revenue, and rewarded items
- Subscription Revenue - recurring revenue and perks
- Item Economy - exchanges and inventory resets
- Tutorial Tracking - onboarding milestones
- A/B Tests - experiment group assignment
- Marketing Campaign - install attribution and game language
- Custom Events - your own typed events
- Codegen Reference - the custom-events CLI
Data and operations
- Data Privacy - the consent gate and what is stored on device
- Offline Analytics - no-loss offline behaviour
- Data Format - the binary wire format
Integration
- Example Integration - a step-by-step walkthrough
- Integration Testing - verify it works
- Existing App Integration - add it to a shipped game
Contributing
- Development - build and test the SDK locally
The repo is a monorepo. You install one runtime package; the rest come transitively.
| Package | Purpose |
|---|---|
@keewano/react-native-sdk |
Bare React Native SDK. |
@keewano/react-native-expo-sdk |
Expo SDK - re-exports the bare RN API plus Expo adapters. |
@keewano/node-sdk |
Node.js server relay SDK. Reports for many end users from one process. See Node.js. |
@keewano/core |
Platform-agnostic core. Installed transitively; you never add it directly. |
@keewano/codegen |
Optional build-time CLI for custom events. |
# Expo
npm install @keewano/react-native-expo-sdk
# Bare React Native
npm install @keewano/react-native-sdk react-native-fs
# Node.js (server)
npm install @keewano/node-sdkFor typed custom events, also add the codegen tool: npm install --save-dev @keewano/codegen. See Getting Started for the full setup.