Android SDK Installation

Adding Dependency

To add MoEngage's Android SDK to your application goto <project_path> ---> platforms ---> android ---> app and create a file with the name build-extras.gradle. In case you already have this file in your project you need not create another one.

Once the file is created add the MoEngage SDK dependency in this file.

MavenBadgeMavenBadge

// adding the repositories block is optional. You can choose not to add this block if you have already added these repositories to your project.
repositories {
  google()
  mavenCentral()
}

dependencies {
  implementation("androidx.core:core:1.3.1")
  implementation("androidx.appcompat:appcompat:1.2.0")
  implementation("androidx.lifecycle:lifecycle-process:2.2.0")
  implementation "com.moengage:moe-android-sdk:$sdkVersion"
}

where $sdkVersion should be replaced by the latest version of the MoEngage SDK.

Note: You can add the firebase messaging dependency also to this file itself if your file does not already have firebase messaging added.

Initialising the SDK

Get APP ID from the Settings Page Dashboard --> Settings --> App --> General on the MoEngage dashboard and initialize the MoEngage SDK in the Application class's onCreate()
Note: It is recommended that you initialize the SDK on the main thread inside onCreate() and not create a worker thread and initialize the SDK on that thread.

import com.moengage.cordova.MoEInitializer;
import com.moengage.core.MoEngage;

// this is the instance of the application class and "XXXXXXXXXXX" is the APP ID from the dashboard.
MoEngage.Builder moEngage = new MoEngage.Builder(this,"XXXXXXXXX”)
MoEInitializer.initialize(getApplicationContext(), moEngage);

In case your application does not have an Application class yet navigate to java source code inside the android platform folder and add the Application class file

Make sure your application class is defined in the AndroidManifest.xml file as well.
Refer to the API reference doc for a detailed list of possible configuration.

Exclude MoEngage Storage File from Auto-Backup

This is a mandatory integration step and is very essential to prevent your data from getting corrupted.
Android's auto back-up service periodically backs up Shared Preference file, Database files etc, more details here.
This back-up results in MoEngage SDK's identifiers to be backed up and restored after re-install.
This restoration of the identifier results in your data being corrupted and user not being reachable via push notifications.

To ensure data is not corrupted after a backup is restored, opt-out of MoEngage SDK's storage files.
Refer to Exclude MoEngage Storage File from Auto-Backup section of the documentation to learn more about which files to exclude.