> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Integrate MoEngage SDKs across mobile, web, and cross-platform frameworks for customer engagement.

<Note>
  **Beta**

  We are refining the new SDK docs. While exploring them, you may encounter minor issues. We appreciate your patience as we finalize the content.

  The [existing SDK docs](https://developers.moengage.com/hc/en-us) will be accessible until the transition is complete.
</Note>

The MoEngage SDK is a lightweight, modular client library that runs inside your application. It handles event tracking, user identification, push token registration, in-app message rendering, and content card delivery — syncing data to MoEngage servers via batched HTTPS requests with offline queuing.

**Out of the box, the SDK automatically collects:** session start/end, app version, device model, OS version, timezone, and locale. Push tokens are registered automatically when push is configured. All other tracking — events, user attributes — is explicit via your API calls.

## Supported Platforms

### Native

<CardGroup cols={3}>
  <Card title="Android SDK" icon="android" href="/developer-guide/android-sdk/sdk-integration/basic-integration/configuring-build-settings">
    Kotlin and Java. Push (FCM, HMS), in-app messaging, cards, push templates, push amplification, notification center, location triggers, and Android TV support. Modular — add only what you need.
  </Card>

  <Card title="iOS SDK" icon="apple" href="/developer-guide/ios-sdk/sdk-integration/basic/sdk-integration">
    Swift and Objective-C. Push (APNs), in-app messages, cards, push templates, Live Activities, real-time triggers, notification center, and Apple TV support. Available via CocoaPods or SPM.
  </Card>

  <Card title="Web SDK" icon="globe" href="/developer-guide/web-sdk/web-sdk-overview/web-sdk-overview">
    Framework-agnostic JavaScript SDK. Web push, on-site messaging (OSM), data tracking, cards, and lifecycle callbacks. Works with React, Angular, Vue, Next.js, and any SPA or MPA. Also supports AMP pages, browser extensions, WebView, and Smart TVs.
  </Card>
</CardGroup>

### Cross-Platform

<Info>
  Cross-platform SDKs provide a unified API that bridges to the native Android and iOS SDKs. You will need to complete platform-specific setup steps for push notifications, in-app rendering, and other native features alongside the framework-level integration.
</Info>

<CardGroup cols={3}>
  <Card title="React Native" icon="react" href="/developer-guide/react-native-sdk/overview/getting-started-with-react-native-sdk">
    Supports React Native CLI projects. Push, in-app, cards, and TV support. Android native setup required; iOS auto-links via CocoaPods.
  </Card>

  <Card title="Expo" icon="react" href="/developer-guide/react-native-sdk/sdk-integration/expo/installation">
    Expo managed workflow support via **react-native-expo-moengage** config plugin. Push, in-app, and cards. Requires EAS Build for native module linking.
  </Card>

  <Card title="Flutter" icon="mobile" href="/developer-guide/flutter-sdk/overview/getting-started-with-flutter-sdk">
    Dart plugin with native bindings for iOS, Android, and Web. Push, in-app, cards, geofence, and notification center. Null-safe (Dart 2.12+).
  </Card>

  <Card title="Cordova" icon="code" href="/developer-guide/cordova-sdk/sdk-integration/sdk-installation/framework-dependency">
    Apache Cordova plugin. Push, in-app, and data tracking. Requires **cordova-ios** 4.3+ for CocoaPods support.
  </Card>

  <Card title="Capacitor" icon="bolt" href="/developer-guide/capacitor-sdk/sdk-integration/sdk-installation/framework-dependency">
    Capacitor plugin (Capacitor 3+). Push, in-app, data tracking, and geofence. TypeScript API.
  </Card>

  <Card title="Ionic" icon="bolt" href="/developer-guide/ionic-sdk/sdk-integration/sdk-installation">
    Ionic uses Cordova or Capacitor as its native runtime. Choose the plugin that matches your Ionic project's native layer — there is no separate Ionic-specific SDK.
  </Card>

  <Card title="Unity" icon="gamepad" href="/developer-guide/unity-sdk/sdk-integration/sdk-installation/sdk-installation">
    Unity plugin with native bindings for iOS and Android. Push, in-app messaging, data tracking, push templates, and location-triggered campaigns.
  </Card>
</CardGroup>

### Specialty

<CardGroup cols={2}>
  <Card title="TV & OTT" icon="tv" href="/developer-guide/tv-and-ott-integrations/getting-started/tv-and-ott-integrations">
    Android TV (via Android SDK), Apple TV (via iOS SDK), and Smart TV (via Web SDK). Push and in-app support varies by platform.
  </Card>

  <Card title="Ecommerce Platforms" icon="cart-shopping" href="/developer-guide/ecommerce-platforms/shopify/shopify-20">
    Shopify 2.0 (app embed block), Magento, and WooCommerce. Auto-tracks ecommerce events and syncs product catalogs.
  </Card>
</CardGroup>

## Platform Compatibility

| Platform         | Languages              | Min Version                                                                                      | Package Manager | Install Guide                                                                                                        |
| ---------------- | ---------------------- | ------------------------------------------------------------------------------------------------ | --------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Android**      | Kotlin, Java           | API 23 (Android 6.0), compileSdk 35                                                              | Maven Central   | [BOM (recommended)](/developer-guide/android-sdk/sdk-integration/basic-integration/Install-Using-BOM)                |
| **iOS**          | Swift, Objective-C     | iOS 13, Xcode 15+                                                                                | CocoaPods, SPM  | [SPM](/developer-guide/ios-sdk/sdk-integration/basic/sdk-integration)                                                |
| **Web**          | JavaScript             | [Browser matrix](/developer-guide/web-sdk/web-sdk-overview/web-sdk-browser-compatibility-matrix) | CDN or npm      | [Integration guide](/developer-guide/web-sdk/web-sdk-integration/basic-integration/web-sdk-integration)              |
| **React Native** | TypeScript/JS + native | RN 0.60+ (inherits native minimums)                                                              | npm             | [RN CLI guide](/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/framework-dependency) |
| **Expo**         | TypeScript/JS + native | Expo SDK 47+ (inherits native minimums)                                                          | npm             | [Expo plugin guide](/developer-guide/react-native-sdk/sdk-integration/expo/installation)                             |
| **Flutter**      | Dart + native          | Dart 2.12+, Flutter 3.x (inherits native minimums)                                               | pub.dev         | [Flutter guide](/developer-guide/flutter-sdk/sdk-integration/sdk-installation/framework-dependency)                  |
| **Cordova**      | JavaScript + native    | cordova-ios 4.3+, cordova-cli 6.4+                                                               | npm             | [Cordova guide](/developer-guide/cordova-sdk/sdk-integration/sdk-installation/framework-dependency)                  |
| **Capacitor**    | TypeScript + native    | Capacitor 3+ (inherits native minimums)                                                          | npm             | [Capacitor guide](/developer-guide/capacitor-sdk/sdk-integration/sdk-installation/framework-dependency)              |

## Quick Start

Pick your platform and follow the integration guide. Estimated time to first event: **15–30 minutes** for native SDKs, **30–60 minutes** for cross-platform (due to additional native configuration).

<Steps>
  <Step title="Get your Workspace ID">
    In the MoEngage Dashboard, go to **Settings → Account → APIs → Workspace ID**. You'll need this to initialize the SDK.
  </Step>

  <Step title="Set your Data Center">
    Your data center determines the API endpoint the SDK communicates with. Find your data center from the dashboard URL host (e.g., `dashboard-01.moengage.com` → `dc_1`). This must be configured during SDK initialization.
  </Step>

  <Step title="Install the SDK">
    Follow the platform-specific installation guide from the table above.
  </Step>

  <Step title="Initialize the SDK">
    Call the initialization method with your Workspace ID and data center. Use the **TEST** environment during development and **LIVE** for production.
  </Step>

  <Step title="Track your first event">
    Call the event tracking API to send a custom event. Verify it appears in the MoEngage Dashboard under **Analytics → Event Analysis**.
  </Step>
</Steps>

### Prerequisites by platform

Before starting integration, ensure you have:

* **Android:** Firebase project with `google-services.json` configured (required for FCM push). Gradle 7.0+, AGP 7.0+, Java 8+.
* **iOS:** Apple Developer account with push notification entitlement enabled. APNs Authentication Key (`.p8` file) uploaded to MoEngage Dashboard.
* **Web:** HTTPS-enabled domain (required for web push via Service Workers).
* **Cross-Platform (React Native / Expo / Flutter / Cordova / Capacitor):** All of the above native prerequisites, plus the framework-specific toolchain.

## Feature Availability by Platform

Not every feature is available on every platform. Use this matrix to verify support before starting integration.

| Feature                                      |   Android  |   iOS  |     Web    | React Native | Expo | Flutter | Cordova | Capacitor |
| -------------------------------------------- | :--------: | :----: | :--------: | :----------: | :--: | :-----: | :-----: | :-------: |
| **Push Notifications**                       | ✅ FCM, HMS | ✅ APNs | ✅ Web Push |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **Push Templates**                           |      ✅     |    ✅   |      —     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **Push Amplification**                       |      ✅     |    —   |      —     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **Device Triggered Push**                    |      ✅     |    ✅   |      —     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **Live Activities**                          |      —     |    ✅   |      —     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **HTML In-App Messages (Templates, Nudges)** |      ✅     |    ✅   |      —     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **In-App NATIV**                             |      ✅     |    ✅   |      —     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **On-Site Messaging (OSM)**                  |      —     |    —   |      ✅     |       —      |   —  |    —    |    —    |     —     |
| **Cards** ¹                                  |      ✅     |    ✅   |      ✅     |      ✅ ²     |  ✅ ² |   ✅ ²   |    —    |     —     |
| **Data Tracking**                            |      ✅     |    ✅   |      ✅     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **Location/Geofence**                        |      ✅     |    ✅   |      —     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **Notification Center (Inbox)**              |      ✅     |    ✅   |      —     |       ✅      |   ✅  |    ✅    |    —    |     —     |
| **Web Personalization**                      |      —     |    —   |      ✅     |       —      |   —  |    —    |    —    |     —     |
| **GDPR Opt-outs**                            |      ✅     |    ✅   |      ✅     |       ✅      |   ✅  |    ✅    |    ✅    |     ✅     |
| **Personalize**                              |      ✅     |    ✅   |      —     |       —      |   —  |    —    |    —    |     —     |

¹ Android, iOS, Web, and both UI Cards and Self-Handled Cards.

² Self-handled only.

<Warning>
  Some features require additional module dependencies. Check the platform-specific integration guide for exact dependency requirements.
</Warning>

## Common Integration Tasks

| Task                  | Android                                                                                                     | iOS                                                                                      | Web                                                                                                       |
| --------------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| Install SDK           | [Build settings](/developer-guide/android-sdk/sdk-integration/basic-integration/configuring-build-settings) | [SDK Integration](/developer-guide/ios-sdk/sdk-integration/basic/sdk-integration)        | [Web SDK Integration](/developer-guide/web-sdk/web-sdk-integration/basic-integration/web-sdk-integration) |
| Initialize            | [Initialization](/developer-guide/android-sdk/sdk-integration/basic-integration/sdk-initialization)         | [Initialization](/developer-guide/ios-sdk/sdk-integration/basic/sdk-initialization)      | [Integration](/developer-guide/web-sdk/web-sdk-integration/basic-integration/web-sdk-integration)         |
| Set up push           | [Push Config](/developer-guide/android-sdk/push/basic/push-configuration)                                   | [Push Integration](/developer-guide/ios-sdk/push/basic/ios-push-integration-tutorial)    | [Web Push](/developer-guide/web-sdk/web-push/configure-and-integrate-web-push)                            |
| Track events          | [Track Events](/developer-guide/android-sdk/data-tracking/basic/track-events)                               | [Track Events](/developer-guide/ios-sdk/data-tracking/basic/tracking-events)             | [Events Tracking](/developer-guide/web-sdk/data-tracking/web-sdk-events-tracking)                         |
| Track user attributes | [User Attributes](/developer-guide/android-sdk/data-tracking/basic/track-user-attributes)                   | [User Attributes](/developer-guide/ios-sdk/data-tracking/basic/tracking-user-attributes) | [User Attributes](/developer-guide/web-sdk/data-tracking/web-sdk-user-attributes-tracking)                |
| Enable in-app / OSM   | [In-App NATIV](/developer-guide/android-sdk/in-app-messages/in-app-nativ)                                   | [In-App NATIV](/developer-guide/ios-sdk/in-app-messages/in-app-nativ)                    | [On-Site Messaging](/developer-guide/web-sdk/onsite-messaging/configure-and-integrate-on-site-messaging)  |
| Add cards             | [Cards](/developer-guide/android-sdk/cards/cards)                                                           | [Cards](/developer-guide/ios-sdk/cards/cards-in-i-os)                                    | [Cards](/developer-guide/web-sdk/cards/cards)                                                             |
| Compliance            | [Compliance](/developer-guide/android-sdk/compliance/compliance)                                            | [Compliance](/developer-guide/ios-sdk/compliance/compliance)                             | [Data opt-out](/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk)                  |

## Upgrading & Migration

<CardGroup cols={2}>
  <Card title="Android Migration Guides" icon="arrow-up">
    [10.x → 11.x](/developer-guide/android-sdk/migration/updating-to-11xxx-from-10xxx) · [11.x → 12.x](/developer-guide/android-sdk/migration/updating-to-12xxx-from-11xxx) · [Manifest → Code-based init](/developer-guide/android-sdk/migration/moving-from-manifest-to-code-based-integration) · [GCM → FCM](/developer-guide/android-sdk/migration/migrating-from-gcm-to-fcm) · [Maven Central migration](/developer-guide/android-sdk/migration/migration-to-maven-central)
  </Card>

  <Card title="iOS Migration Guides" icon="arrow-up">
    [→ v6.0.0](/developer-guide/ios-sdk/migration/migration-to-sdk-version-6-0-0) · [→ v7.0.0](/developer-guide/ios-sdk/migration/migration-to-sdk-version-7-0-0) · [→ v8.2.0](/developer-guide/ios-sdk/migration/migration-to-sdk-version-8-2-0) · [→ v9.0.0](/developer-guide/ios-sdk/migration/migration-to-sdk-version-9-0-0)
  </Card>
</CardGroup>

## Developer Resources

<CardGroup cols={3}>
  <Card title="Sample Apps" icon="flask">
    Working reference implementations: [Android](/developer-guide/android-sdk/sample-app/android-sample-app) · [iOS](/developer-guide/ios-sdk/sample-app/i-os-sample-app) · [React Native](/developer-guide/react-native-sdk/sample-app/react-native-sample-app) · [Flutter](/developer-guide/flutter-sdk/sample-app/flutter-sample-app) · [Capacitor](/developer-guide/capacitor-sdk/sample-app/capacitor-sample-app)
  </Card>

  <Card title="Release Notes" icon="clock-rotate-left" href="/release-notes/sdks/ios">
    Changelogs for every SDK. [Subscribe to releases](/release-notes/sdks/ios) via GitHub to get notified of new versions, breaking changes, and security patches.
  </Card>

  <Card title="Troubleshooting" icon="wrench">
    [Android](/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs) · [iOS](/developer-guide/ios-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-ios) · [React Native](/developer-guide/react-native-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-react) · [Flutter](/troubleshooting-and-faqs-flutter) · [Capacitor](/troubleshooting-and-faqs-capacitor)
  </Card>

  <Card title="Release Checklists" icon="list-check">
    Pre-launch verification: [Android](/developer-guide/android-sdk/checklist/release-checklist) · [iOS](/developer-guide/ios-sdk/checklist/release-checklist)
  </Card>

  <Card title="SDK Performance & Size" icon="gauge">
    [Android size](/developer-guide/android-sdk/performance/sdk-size-impact) · [Android performance](/developer-guide/android-sdk/performance/sdk-performance) · [iOS framework size](/developer-guide/ios-sdk/framework-size-impact/framework-size-impact)
  </Card>

  <Card title="Security & Compliance" icon="shield-halved">
    [Android compliance](/developer-guide/android-sdk/compliance/compliance) · [iOS compliance](/developer-guide/ios-sdk/compliance/compliance) · [Google Play data disclosure](/developer-guide/android-sdk/compliance/prepare-for-google-plays-data-disclosure-requirements) · [GDPR/CCPA API](/api/gdpr-ccpa/gdpr-ccpa-overview)
  </Card>
</CardGroup>

<Info>
  Need help? Contact your Customer Success Manager.
</Info>
