MoEngage Docs

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.

Android

DownloadDownload

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')
    implementation "com.moengage:moe-android-sdk:$sdkVersion"
}

replace $sdkVersion with the latest SDK version.

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) {
    @Override
    protected boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

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

  @Override public void onCreate() {
    super.onCreate();
  }

  @Override
  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;

iOS

📘

Native SDK Version:

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

🚧

NOTE:

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.

🚧

NOTE:

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

🚧

NOTE :

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.

Updated about a month ago


SDK Installation


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.