Install the SDK
Choose an SDK
Which InfluTo SDK fits your app — React Native and Expo, native iOS, native Android, Flutter, or web and Capacitor — and what each one needs for RevenueCat or store-direct.
Install exactly one InfluTo SDK per app: the one for the language your app is written in. All five follow the same wire contract, have the same methods, and support both purchase-validation paths, so everything else in these docs applies whichever you pick.
Pick by stack
| Your app is built with | Use | Guide |
|---|---|---|
| React Native, Expo | @influto/react-native-sdk |
React Native & Expo |
| Swift — SwiftUI or UIKit | influto-ios (Swift Package Manager) |
iOS |
| Kotlin or Java | to.influ:android-sdk |
Android |
| Flutter (Dart) | influto |
Flutter |
| Capacitor, Ionic, Cordova, a PWA or a website wrapped as an app | @influto/web |
Web & Capacitor |
| Anything else (Unity, Kotlin Multiplatform, a backend) | The HTTP API | HTTP API |
A React Native app with native iOS and Android modules still uses the React Native SDK — one SDK per app, not per platform.
Packages
| Your app | Package | Registry | Latest | Source |
|---|---|---|---|---|
| React Native / Expo | @influto/react-native-sdk |
npm | 1.6.1 | influto/influto-react-native |
| iOS (Swift) | github.com/influto/influto-ios |
Swift Package Manager | 1.1.1 | influto/influto-ios |
| Android (Kotlin) | to.influ:android-sdk |
Maven Central | 1.1.1 | influto/influto-android |
| Flutter (Dart) | influto |
pub.dev | 1.1.1 | influto/influto-flutter |
| Web / Capacitor / PWA | @influto/web |
npm | 1.0.1 | npm package |
What every SDK does
initializeonce at startup with the app's API key — throws on failure.checkAttributionat launch to find out whether the install was referred — never throws.identifyUserwhen you know who the user is, so purchases can be matched to the referral.validateCode/applyCodeand a ready-made code field for codes people type in.checkAccessfor free-access codes,reportPurchasefor store-direct apps,trackEventfor funnel events.
Every method, with signatures for each platform: SDK reference.
Purchases: what each SDK needs
Choose RevenueCat or store-direct per app (how to choose). What you add depends on the SDK:
| SDK | RevenueCat: tagging the subscriber | Store-direct: automatic purchase capture |
|---|---|---|
| React Native | Automatic when react-native-purchases is installed |
Needs expo-iap or react-native-iap installed |
| iOS | Pass a revenueCatAttributeSetter in the config |
Built in (StoreKit 2) |
| Android | Automatic, or pass a revenueCatAttributeSetter |
Add to.influ:android-sdk-billing |
| Flutter | Pass a revenueCatHook in the config |
Add influto_iap and enable its observer |
| Web | Pass a revenueCat binding |
Pass a purchaseSource (Capacitor, Cordova or Play Digital Goods) |
Automatic capture only runs on apps set to store-direct, so it can never double-report a RevenueCat app. Each SDK guide shows the exact code.
Requirements
| SDK | Minimum |
|---|---|
| React Native | React Native 0.60+, @react-native-async-storage/async-storage |
| iOS | iOS 16, Swift 5.9 (also macOS 13, tvOS 16, watchOS 9) |
| Android | minSdk 24, Java 17 toolchain |
| Flutter | Flutter 3.22, Dart 3.4 |
| Web | Any ES2019 browser or WebView; Capacitor plugins optional |
None of the SDKs use advertising identifiers or ask for App Tracking Transparency. What they send, and what to declare in the stores: Privacy & App Store review.