Skip to main content
BetaWe 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 will be accessible until the transition is complete.
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

Android SDK

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.

iOS SDK

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.

Web SDK

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.

Cross-Platform

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.

React Native

Supports React Native CLI projects. Push, in-app, cards, and TV support. Android native setup required; iOS auto-links via CocoaPods.

Expo

Expo managed workflow support via react-native-expo-moengage config plugin. Push, in-app, and cards. Requires EAS Build for native module linking.

Flutter

Dart plugin with native bindings for iOS, Android, and Web. Push, in-app, cards, geofence, and notification center. Null-safe (Dart 2.12+).

Cordova

Apache Cordova plugin. Push, in-app, and data tracking. Requires cordova-ios 4.3+ for CocoaPods support.

Capacitor

Capacitor plugin (Capacitor 3+). Push, in-app, data tracking, and geofence. TypeScript API.

Ionic

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.

Unity

Unity plugin with native bindings for iOS and Android. Push, in-app messaging, data tracking, push templates, and location-triggered campaigns.

Specialty

TV & OTT

Android TV (via Android SDK), Apple TV (via iOS SDK), and Smart TV (via Web SDK). Push and in-app support varies by platform.

Ecommerce Platforms

Shopify 2.0 (app embed block), Magento, and WooCommerce. Auto-tracks ecommerce events and syncs product catalogs.

Platform Compatibility

PlatformLanguagesMin VersionPackage ManagerInstall Guide
AndroidKotlin, JavaAPI 23 (Android 6.0), compileSdk 35Maven CentralBOM (recommended)
iOSSwift, Objective-CiOS 13, Xcode 15+CocoaPods, SPMSPM
WebJavaScriptBrowser matrixCDN or npmIntegration guide
React NativeTypeScript/JS + nativeRN 0.60+ (inherits native minimums)npmRN CLI guide
ExpoTypeScript/JS + nativeExpo SDK 47+ (inherits native minimums)npmExpo plugin guide
FlutterDart + nativeDart 2.12+, Flutter 3.x (inherits native minimums)pub.devFlutter guide
CordovaJavaScript + nativecordova-ios 4.3+, cordova-cli 6.4+npmCordova guide
CapacitorTypeScript + nativeCapacitor 3+ (inherits native minimums)npmCapacitor guide

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).
1

Get your Workspace ID

In the MoEngage Dashboard, go to Settings → Account → APIs → Workspace ID. You’ll need this to initialize the SDK.
2

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.comdc_1). This must be configured during SDK initialization.
3

Install the SDK

Follow the platform-specific installation guide from the table above.
4

Initialize the SDK

Call the initialization method with your Workspace ID and data center. Use the TEST environment during development and LIVE for production.
5

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.

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.
FeatureAndroidiOSWebReact NativeExpoFlutterCordovaCapacitor
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
¹ Android, iOS, Web, and both UI Cards and Self-Handled Cards. ² Self-handled only.
Some features require additional module dependencies. Check the platform-specific integration guide for exact dependency requirements.

Common Integration Tasks

Upgrading & Migration

Developer Resources

Sample Apps

Working reference implementations: Android · iOS · React Native · Flutter · Capacitor

Release Notes

Changelogs for every SDK. Subscribe to releases via GitHub to get notified of new versions, breaking changes, and security patches.

Troubleshooting

Release Checklists

Pre-launch verification: Android · iOS
Need help? Contact your Customer Success Manager.