SDK Installation

Install MoEngage's React Native plugin using the npm package manager. And then link your native dependencies :

$ npm install react-native-moengage
$ react-native link react-native-moengage

After installing the plugin lets move on to platform-specific configuration.



Add mavenCentral() repository in the project-level build.gradle file.

buildscript {
    repositories {

allprojects {
    repositories {

In android/settings.gradle add the following

include ':react-native-moengage'
project(':react-native-moengage').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-moengage/android')

In android/app/build.gradle add the following

dependencies {
    implementation project(':react-native-moengage')

where $sdkVersion should be replaced by the latest version of the MoEngage SDK.
Add the MoEngage React Package in the Application class's getPackages()

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    protected boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;

    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(), new MoEReactPackage());

  @Override public void onCreate() {

  public ReactNativeHost getReactNativeHost() {
      return mReactNativeHost;

In case you are facing issues with the import add the below import statement in your java file.

import com.moengage.react.MoEReactPackage;
import com.moengage.core.MoEngage;



Native SDK Version:

The current react-native-moengage plugin supports MoEngage-iOS-SDK version 7.*.



The below steps are only required for react-native-moengage plugin version below 6.0.0. If using plugin version 6.0.0, proceed to SDK Initialization.

CocoaPods Integration [Required for version < 6.0.0]:

  • CocoaPods Integration is supported from react-native-moengage version 4.0.0

Run pod install to add our react native plugin and MoEngage-iOS-SDK pods to the iOS project. Post that add "${PODS_ROOT}/../<YourProjectName>" to the Header Search Path of ReactNativeMoEngage target in Pods project as shown below :

Libraries Integration [Required for version < 6.0.0]:

In case if you are using the Libraries Integration, you will have to explicitly update pod file to install our native MoEngage iOS SDK. Add MoEngage-iOS-SDK to your podfile:

pod 'MoEngage-iOS-SDK'

After installing the Pods, select the MoEReactBridge target in MoEReactBridge.xcodeproj and go to Header Search Paths section in Build Settings as shown below. Here update the search path $(SRCROOT)/../../../ios to include your Project's main directory which contains the AppDelegate file as shown below.



Updating the Header Search Path is important as the MoEngage React Native plugin needs access to the AppDelegate file of your project.



Incase if you get errors in the test targets of the project, go to build settings of the test target and add -lc++ flag to Other Linker Flags as shown below :

Thats it!! SDK is successfully installed in the project, and ready to use.

What’s Next