mobiqo-react-native
TypeScript icon, indicating that this package has built-in type declarations

0.0.8 • Public • Published

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-native

Peer Dependencies

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

Usage

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: 'user@example.com',
    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 30 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 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

getUserInfo(options)

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)

trackEvent(event, eventType, additionalData?)

Track custom events.

  • event (string): Event name
  • eventType (MobiqoEvent): Event type from the MobiqoEvent enum
  • additionalData (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.

Package Sidebar

Install

npm i mobiqo-react-native

Weekly Downloads

7

Version

0.0.8

License

MIT

Unpacked Size

30.4 kB

Total Files

7

Last publish

Collaborators

  • alex0x47