Skip to main content

Configuring Build Settings

Use the Bill of Materials (BOM) to automatically manage compatible versions of the SDK modules.
dependencies {
    ...
    // Import the MoEngage BOM
    implementation(platform("com.moengage:android-bom:<bomVersion>"))
    
    // Add optional modules as needed
     implementation("com.moengage:inapp")
}
Replace <bomVersion>` with the latest BOM version. For more info on integration using BOM, refer here.

Option 2: Manual Integration

Add Maven Repository

Add mavenCentral() repository in the project-level build.gradle file. If not present already. Path - android/build.gradle(.kts)
buildscript {
    repositories {
        mavenCentral()
    }
}
allprojects {
    repositories {
        mavenCentral()
    }
}

Enable Java 8

The SDK target and source compatible with version 8 of the Java Programming Language. Enable Java 8 in the application build.gradleif not done already.  Path - android/app/build.gradle(.kts)
android {
  ...
  compileOptions {
     sourceCompatibility JavaVersion.VERSION_1_8
     targetCompatibility JavaVersion.VERSION_1_8
  }
  kotlinOptions {
     jvmTarget = '1.8'
  }
}

Add Androidx Libraries

The SDK depends on a few Androidx libraries for its functioning, add the below Androidx libraries in your application’s build.gradle file in the dependencies block if not done already. Path - android/app/build.gradle(.kts)

    dependencies {
    ...
      implementation("androidx.core:core:1.9.0")
      implementation("androidx.appcompat:appcompat:1.4.2")
      implementation("androidx.lifecycle:lifecycle-process:2.7.0")
    }
The MoEngage SDK depends on the lifecycle-process library for a few key features to work and the latest version of lifecycle-process depends on the androidx.startup:startup-runtime library. Hence do not remove the InitializationProvider component from the manifest. When adding other Initializers using the startup-runtime make sure the Initializer for lifecycle-process library is also added. Refer to the documentation to know how to add the Initializer.