Prerequisites & Dependencies
Before integrating the Indigitall SDK into your Android application, please ensure your development environment and project meet the following system and library requirements.
1. Environment & Compatibility (Versión 7.0.1 or above)
- Minimum Android SDK (minSdkVersion): API level
23(Android 6.0 Marshmallow) or higher. - Target Android SDK (targetSdkVersion): API level
36(Android 16). - Java Version: Java 17 (
JavaVersion.VERSION_17) is strictly required to compile and run the SDK. - Kotlin Version: Fully compatible with Kotlin 2.2.21 or higher.
- AndroidX: Your target project must be migrated to AndroidX (Jetpack).
Important Note on Java 17: Due to the advanced toolchain configuration used in this SDK (
jvmToolchain(17)), compilation will fail if your Android project targets a lower version (such as Java 11 or Java 8). Please make sure to update thecompileOptionsandkotlinOptionsblocks in your application's build script.
2. Core Dependencies
The SDK relies on the following stable native libraries to provide its location and messaging services. If your application already implements these dependencies, please verify that there are no major version conflicts:
- AndroidX AppCompat:
v1.7.1(Backward compatibility support) - Google Firebase Messaging:
v25.0.2(Mandatory for Push Notification handling and delivery) - Google Play Services Location:
v21.3.0(Mandatory for Geolocation and Geofencing features) - KotlinX Coroutines Android:
v1.11.0(Required for asynchronous operations and coroutine support)
3. Modular Architecture & Included Components
The main Indigitall artifact (com.indigitall:android:6.0.1) features a modular architecture. When importing the core SDK, the following modules will be automatically made available in your project through transitive dependencies (api):
| Module | Artifact ID | Functional Description |
|---|---|---|
| Push | android-push | Lifecycle management and reception of Push Notifications. |
| In-App | android-inapp | Rendering of In-App messaging campaigns, custom banners, and overlays |
| Inbox | android-inbox | Native message center and notification storage history. |
| LiveActivity | android-liveactivity | Real-time tracking and live activity notification support. |
| Customer | android-customer | User profile management, authentication, and custom field tracking. |
| Commons | android-commons | Shared internal utilities, core network logic, and local persistence. |
You can also append this quick integration snippet to help your clients explicitly match your Java 17 toolchain requirement in their application-level build.gradle.kts:
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlin {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
}android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlin {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
}