> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.poool.fr/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# SDK Engage app mobile - Comment intégrer un élément Engage sur Android ?

Notre SDK Poool Engage est disponible pour iOS et Android, avec deux intégrations distinctes. 

L'ensemble des informations sur l'**installation technique Android** est disponible dans notre documentation :

👉 [Installation sur Android avec Jetpack Compose](https://www.poool.dev/fr/docs/engage/android/with-compose)
👉 [Installation sur Android avec des Views (legacy)](https://www.poool.dev/fr/docs/engage/android/with-views)

Dans cet article, nous vous donnons plus de précisions sur les éléments essentiels à anticiper pour vos configurations. 

# Mise en place et initialisation

Une application Dashboard est dédiée pour chaque intégration iOS et Android, avec deux ID distinctes (qui sont également différentes de celles de vos applications web).

Vous devez donc utiliser votre ID d'application Android dans le constructeur afin de créer une nouvelle instance Engage : 

* Version Views (legacy) : https://www.poool.dev/fr/docs/engage/android/methods#init

```
val engage = Engage("<votre_app_id>", context)
```

* Version Jetpack Compose : https://www.poool.dev/fr/docs/engage/android/with-compose#engageprovider-example

```
EngageProvider(appId = "<votre_app_id>", config = mapOf("debug" to true)) {
  // Votre contenu
}
```


Votre ID est donnée au moment de l'onboarding et disponible dans le Dashboard, onglet 'Paramètres' > Application > ID d'application. 

![](https://storage.crisp.chat/users/helpdesk/website/-/5/f/5/0/5f50f52b22503800/capture-decran-2026-06-10-a-10_1y5r7uc.png =1283x500)


# Méthodes disponibles pour afficher l'élément Engage / Version Views (Legacy)

Deux méthodes sont disponibles, selon le format que vous souhaitez afficher. 
### 
### Méthode `autoCreate()`

Grâce à cette méthode, les conditions natives du Dashboard seront appliquées. 
```
engage.autoCreate()
```

Avantages : 
* Choix du [format](https://help.poool.fr/fr/article/engage-sur-application-mobile-ios-et-android-quelles-sont-les-fonctionnalites-disponibles-1qy3x14/#1-formats-disponibles) directement dans le Dashboard (Modale, Bottom-sheet, ID cible).
* Flexibilité dans l'application des conditions natives Poool
* Activation des filtres personnalisés pour affiner le ciblage

Retrouvez ici la documentation technique : https://www.poool.dev/fr/docs/engage/android/methods#autocreate


### Méthode `createElement()`

Cette méthode est utile dans le cas où vous souhaitez afficher une élément spécifique dans un UIView ciblé, via le **slug** de l'élément défini dans le Dashboard. 

```
engage.createElement("element-slug", targetViewGroup)
```

Avantages : 
* Afficher des formats personnalisés (Format Pleine Page notamment)
* Totale maîtrise de l'affichage côté intégration

Retrouvez ici la documentation sur ce sujet : 
https://www.poool.dev/fr/docs/engage/android/methods#createelement

Le slug de l'élément doit respecter un certain format : minuscule, sans accent, "-". 
Exemple : '**abonne-inactif**'


# Méthodes disponibles pour afficher l'élément Engage / Version JetPack Compose

### Composable EngageElements

```
EngageElements(filters = listOf("filter-1", "filter-2"), autoCommitPageView = true)
```

Grâce à cette méthode, les conditions natives du Dashboard seront appliquées. 

Avantages : 
* Choix du [format](https://help.poool.fr/fr/article/engage-sur-application-mobile-ios-et-android-quelles-sont-les-fonctionnalites-disponibles-1qy3x14/#1-formats-disponibles) directement dans le Dashboard (Modale, Bottom-sheet, ID cible).
* Flexibilité dans l'application des conditions natives Poool
* Activation des filtres personnalisés pour affiner le ciblage

💡Dans le cas où vous souhaitez afficher l'élément dans un **ID cible**, vous pouvez ajouter une valeur cible à vos vues ainsi : https://www.poool.dev/fr/docs/engage/android/with-compose#engageplaceholder-params

```
EngagePlaceholder(id = "target-1")
```


### Composable EngageElement

```
EngageElement(slug = "element_slug")
```

Cette méthode est utile dans le cas où vous souhaitez afficher une élément spécifique dans un UIView ciblé, via le **slug** de l'élément défini dans le Dashboard. 

Avantages : 
* Afficher des formats personnalisés (Format Pleine Page notamment)
* Totale maîtrise de l'affichage côté intégration


# Affiner votre segmentation grâce aux filtres personnalisés

Afin d'affiner les conditions d'affichage des éléments Engage, selon votre propre segmentation, vous pouvez utiliser la configuration `filters` dans la méthode `autoCreate()`. Cela suppose d'envoyer un tableau de variables/valeurs (au format "string"). 

```
EngageElements(filters = listOf("abonne", "abonne-inactif"), autoCommitPageView = true)
```


Côté Dashboard, vous pouvez activer ces éléments : 

* Choisissez l'opérateur "EST" ou "CONTIENT"
* Renseignez dans les filtres le slug qui correspond exactement à ce qui est passé dans la configuration.

![](https://storage.crisp.chat/users/helpdesk/website/-/5/f/5/0/5f50f52b22503800/capture-decran-2026-06-10-a-10_aypgq7.png)


Dans la section "Réglages" de votre Dashboard, vous pouvez créer votre **catalogue de filtres personnalisés**.
Déclarez ici chacun des filtres qui sont passés dans l'intégration, pour les retrouver ensuite facilement lors du paramétrage de vos conditions.

![](https://storage.crisp.chat/users/helpdesk/website/-/5/f/5/0/5f50f52b22503800/capture-decran-2026-06-10-a-10_15webzq.png)
|| L'activation des filtres personnalisés est disponible uniquement dans le cas où vous choisissez la méthode `autoCreate()`ou le composable `EngageElements`