In-App Messaging


InApp Module Prerequisites & Dependencies

Before integrating the Indigitall In-App SDK module into your Android application, please ensure your project meets the following specific environmental and library requirements.

1. Environment & Compatibility

  • 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 is strictly required to compile and run this module.
  • Kotlin Version: Fully compatible with Kotlin 2.2.21 or higher.
  • AndroidX: Your project must be migrated to AndroidX (Jetpack).

Note on Java 17: Due to the advanced toolchain configuration used in this module, compilation will fail if your Android project targets a lower version (such as Java 11 or Java 8). Please make sure to update the compileOptions and kotlinOptions blocks in your application's build script.

2. Core Dependencies

The In-App module relies on the following stable libraries to manage campaign overlays, UI layouts, and targeting conditions. If your application already implements these, please verify that there are no major version conflicts:

  • AndroidX CardView: v1.0.0 (Used for rendering native message cards, popups, and layout structures)
  • AndroidX AppCompat: v1.7.1 (Required for core backward compatibility and UI thematic consistency)
  • Google Play Services Location: v21.3.0 (Required for geolocated or location-triggered In-App message banners)
  • KotlinX Coroutines Android: v1.11.0 (Required for asynchronous operations and coroutine support on Android)
  • Kotlin Reflect: v2.2.21 (Required for reflection capabilities and runtime type introspection)

3. Required Internal Modules

The In-App module does not operate standalone; it builds upon the core features of the Indigitall ecosystem. Including this module will automatically pull or require the following internal modules to be available:

  • Commons Module (:commons): Provides the shared network layer, local persistence, and base logic.
  • Customer Module (:customer): Provides user profiles, segmentation filters, and custom authentication properties used to target specific target audiences for In-App campaigns.