👉 CREATE AN ACCOUNT HERE: https://getmobiqo.com?utm_source=npm
A React Native library for integrating Mobiqo analytics into your mobile applications.
npm install mobiqo-react-native
This library requires @react-native-async-storage/async-storage
as a peer dependency. Install it separately:
npm install @react-native-async-storage/async-storage
For iOS, you'll also need to run:
cd ios && pod install
import Mobiqo from 'mobiqo-react-native';
import { MobiqoEvent } from 'mobiqo-react-native';
const mobiqo = new Mobiqo();
// Initialize with your Mobiqo API key
await mobiqo.init({ mobiqoKey: 'your-mobiqo-api-key' });
// With additional data (optional)
await mobiqo.syncUser({
revenue_cat_user_id: 'user-123',
include_advanced_analysis: false,
additional_data: {
email: 'user@example.com',
plan: 'premium'
}
});
// Without additional data
await mobiqo.syncUser({
revenue_cat_user_id: 'user-123'
});
// Track an event with additional data (optional)
await mobiqo.trackEvent(
'button_clicked',
MobiqoEvent.CLICK,
{
button_name: 'subscribe',
screen: 'home'
}
);
// Track an event without additional data
await mobiqo.trackEvent('screen_opened', MobiqoEvent.SCREEN_VIEW);
const userInfo = await mobiqo.getUserInfo({
revenue_cat_user_id: 'user-123',
include_advanced_analysis: true
});
The SDK automatically sends heartbeats every 30 seconds after user sync to maintain session tracking. No manual intervention is required.
Initialize the Mobiqo service with your API key.
-
options.mobiqoKey
(string): Your Mobiqo API key
Sync user data with Mobiqo and start a session.
-
options.revenue_cat_user_id
(string): RevenueCat user ID -
options.include_advanced_analysis
(boolean): whether or not to include advanced analysis in the response (to get the purchase probability and other data, but the request will take more time) -
options.additional_data
(Record<string, any>, optional): Additional user data
Retrieve user information from Mobiqo.
-
options.revenue_cat_user_id
(string): RevenueCat user ID -
options.include_advanced_analysis
(boolean): whether or not to include advanced analysis in the response (to get the purchase probability and other data, but the request will take more time)
Track custom events.
-
event
(string): Event name -
eventType
(MobiqoEvent): Event type from the MobiqoEvent enum -
additionalData
(Record<string, any>, optional): Additional event data
enum MobiqoEvent {
CLICK = 'click',
ACTION = 'action',
SCREEN_VIEW = 'screen_view',
PAYWALL_VIEW = 'paywall_view',
PAYWALL_DISMISS = 'paywall_dismiss',
PURCHASE_ATTEMPT = 'purchase_attempt',
PURCHASE_SUCCESS = 'purchase_success',
PURCHASE_FAILED = 'purchase_failed',
FORM_SUBMIT = 'form_submit',
NAVIGATION = 'navigation',
ERROR = 'error',
CUSTOM = 'custom'
}
interface SyncUserResponse {
isNewUser: boolean;
appUser: AppUser;
statistics: Statistics;
}
interface GetUserInfoResponse {
appUser: AppUser;
statistics: Statistics;
}
interface AppUser {
id: string;
project_id: string;
revenue_cat_user_id?: string;
mobiqo_username: string;
os: 'ios' | 'android';
os_version: string;
app_version: string;
country?: string;
language?: string;
first_seen_at: string;
last_seen_at: string;
active_entitlements: string[];
}
interface Statistics {
purchasing_power_parity: number;
purchase_intent: number;
avg_arpu: number;
avg_arppu: number;
avg_ltv: number;
}
- React Native
- TypeScript 4.0+
MIT
For support and questions, please contact the Mobiqo team.