@thspian/circuul-react-native
v0.1.3
Published
Thspian's circuul app-install attribution client for React Native and Expo
Maintainers
Readme
@thspian/circuul-react-native
Circuul client for React Native and Expo. Call once on cold start to attribute an app install to a Thspian UGC creator and credit their CPA.
Before you install
- On thspian.com, create a UGC campaign with app install CPA enabled.
- Copy your campaign app token — it starts with
cat_…. - Pass it to
Circuul.init({ appToken: 'cat_…', platform: Platform.OS }).
Production API is built in. You do not need to pass apiBase in production.
Install
npm install @thspian/circuul-react-native @react-native-async-storage/async-storageExpo
npx expo install @react-native-async-storage/async-storageUsage
import { useEffect } from 'react';
import { Platform } from 'react-native';
import { Circuul } from '@thspian/circuul-react-native';
export default function App() {
useEffect(() => {
Circuul.init({
appToken: 'cat_…',
platform: Platform.OS,
}).then((result) => console.log('[Circuul]', result));
}, []);
return /* your app */;
}Dev / staging
Circuul.init({
appToken: 'cat_…',
env: 'dev',
platform: Platform.OS,
});Passing the creator code
Universal Links / App Links
const code = url.searchParams.get('ref') || url.searchParams.get('circuul_ref');
Circuul.init({ appToken: 'cat_…', platform: Platform.OS, code });Play Install Referrer (Android)
Circuul.init({
appToken: 'cat_…',
platform: 'android',
androidReferrer: referrerString,
});Options
| Option | Required | Description |
|--------|----------|-------------|
| appToken | yes | Campaign token from Thspian (cat_…) |
| platform | recommended | 'ios' or 'android' |
| env | no | 'prod' (default) or 'dev' |
| apiBase | no | Explicit override — wins over env |
| code | no | Creator code from deep link |
| androidReferrer | no | Play Install Referrer string |
| clipboardCode | no | Fallback (iOS may prompt) |
| idfv / gaid | no | Stronger dedupe |
Related
Create campaigns: thspian.com
