mobiqo-react-native
v0.0.10
Published
Mobiqo SDK for Capacitor apps - Mobile analytics and user tracking
Maintainers
Readme
Mobiqo React Native SDK
⚠️ THIS PLUGIN HAS TO BE USED ALONG WITH THE ANALYTICS SERVICE MOBIQO ⚠️
👉 CREATE AN ACCOUNT HERE: https://getmobiqo.com?utm_source=npm
A React Native library for integrating Mobiqo analytics into your mobile applications.
Installation
npm install mobiqo-react-nativePeer Dependencies
This library requires @react-native-async-storage/async-storage as a peer dependency. Install it separately:
npm install @react-native-async-storage/async-storageFor iOS, you'll also need to run:
cd ios && pod installUsage
Import the SDK
import Mobiqo from 'mobiqo-react-native';
import { MobiqoEvent } from 'mobiqo-react-native';Initialize the service
const mobiqo = new Mobiqo();
// Initialize with your Mobiqo API key
await mobiqo.init({ mobiqoKey: 'your-mobiqo-api-key' });Sync user data
// With additional data (optional)
await mobiqo.syncUser({
revenue_cat_user_id: 'user-123',
include_advanced_analysis: false,
additional_data: {
email: '[email protected]',
plan: 'premium'
}
});
// Without additional data
await mobiqo.syncUser({
revenue_cat_user_id: 'user-123'
});Track events
// 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);Get user information
const userInfo = await mobiqo.getUserInfo({
revenue_cat_user_id: 'user-123',
include_advanced_analysis: true
});Automatic Session Tracking
The SDK automatically sends heartbeats every 20 seconds after user sync to maintain session tracking. No manual intervention is required.
API Reference
Methods
init(options)
Initialize the Mobiqo service with your API key.
options.mobiqoKey(string): Your Mobiqo API key
syncUser(options)
Sync user data with Mobiqo and start a session.
options.revenue_cat_user_id(string): RevenueCat user IDoptions.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
getUserInfo(options)
Retrieve user information from Mobiqo.
options.revenue_cat_user_id(string): RevenueCat user IDoptions.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)
trackEvent(event, eventType, additionalData?)
Track custom events.
event(string): Event nameeventType(MobiqoEvent): Event type from the MobiqoEvent enumadditionalData(Record<string, any>, optional): Additional event data
Event Types
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'
}Response Interfaces
SyncUserResponse
interface SyncUserResponse {
isNewUser: boolean;
appUser: AppUser;
statistics: Statistics;
}GetUserInfoResponse
interface GetUserInfoResponse {
appUser: AppUser;
statistics: Statistics;
}AppUser
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[];
}Statistics
interface Statistics {
purchasing_power_parity: number;
purchase_intent: number;
avg_arpu: number;
avg_arppu: number;
avg_ltv: number;
}Requirements
- React Native
- TypeScript 4.0+
License
MIT
Support
For support and questions, please contact the Mobiqo team.
