Engage mobile app SDK - How to integrate an Engage element on Android?
Our Poool Engage SDK is available for iOS and Android, with two distinct integrations.
All the information on the Android technical installation is available in our documentation:
π Installation on Android with Jetpack Compose
π Installation on Android with Views (legacy)
In this article, we give you more details on the essential elements to anticipate for your configurations.
Setup and initialization
A dedicated Dashboard application exists for each iOS and Android integration, with two distinct IDs (which are also different from those of your web applications).
You must therefore use your Android application ID in the constructor in order to create a new Engage instance:
- Views version (legacy): https://www.poool.dev/fr/docs/engage/android/methods#init
val engage = Engage("<votre_app_id>", context)- Jetpack Compose version: https://www.poool.dev/fr/docs/engage/android/with-compose#engageprovider-example
EngageProvider(appId = "<votre_app_id>", config = mapOf("debug" to true)) {
// Votre contenu
}
Your ID is given at the time of onboarding and available in the Dashboard, 'Settings' tab > Application > Application ID.

Methods available to display the Engage element / Views version (Legacy)
Two methods are available, depending on the format you want to display.
autoCreate() method
Thanks to this method, the native Dashboard conditions will be applied.
engage.autoCreate()Advantages:
- Choice of format directly in the Dashboard (Modal, Bottom-sheet, Target ID).
- Flexibility in applying Poool's native conditions
- Activation of custom filters to refine targeting
Find the technical documentation here: https://www.poool.dev/fr/docs/engage/android/methods#autocreate
createElement() method
This method is useful in the case where you want to display a specific element in a targeted UIView, via the element's slug defined in the Dashboard.
engage.createElement("element-slug", targetViewGroup)Advantages:
- Display custom formats (Full Page format in particular)
- Total control of the display on the integration side
Find the documentation on this topic here:
https://www.poool.dev/fr/docs/engage/android/methods#createelement
The element's slug must follow a certain format: lowercase, without accents, "-".
Example: 'abonne-inactif'
Methods available to display the Engage element / JetPack Compose version
EngageElements composable
EngageElements(filters = listOf("filter-1", "filter-2"), autoCommitPageView = true)Thanks to this method, the native Dashboard conditions will be applied.
Advantages:
- Choice of format directly in the Dashboard (Modal, Bottom-sheet, Target ID).
- Flexibility in applying Poool's native conditions
- Activation of custom filters to refine targeting
π‘In the case where you want to display the element in a target ID, you can add a target value to your views like this: https://www.poool.dev/fr/docs/engage/android/with-compose#engageplaceholder-params
EngagePlaceholder(id = "target-1")EngageElement composable
EngageElement(slug = "element_slug")This method is useful in the case where you want to display a specific element in a targeted UIView, via the element's slug defined in the Dashboard.
Advantages:
- Display custom formats (Full Page format in particular)
- Total control of the display on the integration side
Refine your segmentation thanks to custom filters
In order to refine the display conditions of Engage elements, according to your own segmentation, you can use the filters configuration in the autoCreate() method. This involves sending an array of variables/values (in "string" format).
EngageElements(filters = listOf("abonne", "abonne-inactif"), autoCommitPageView = true)On the Dashboard side, you can activate these elements:
- Choose the "IS" or "CONTAINS" operator
- Enter in the filters the slug that corresponds exactly to what is passed in the configuration.

In the "Settings" section of your Dashboard, you can create your custom filters catalog.
Declare here each of the filters that are passed in the integration, to then find them easily when configuring your conditions.

autoCreate() method or the EngageElements composableUpdated on: 16/07/2026
Thank you!
