> ## 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 dans mon app mobile iOS ?

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

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

👉 [Installation sur iOS UIKit](https://www.poool.dev/fr/docs/engage/ios/installation)
👉 [Installation sur iOS Swift UI](https://www.poool.dev/fr/docs/engage/ios/swiftui)


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 des applications web).

Vous devez donc utiliser votre ID d'application iOS dans la méthode `init` afin de créer une nouvelle instance Engage : https://www.poool.dev/fr/docs/engage/ios/methods#init

```
import EngageIOS

var engage = Engage("<your_app_id>")
```

Votre ID est également 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 UIKit

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. 

Avantages : 
* Choix du [format](https://help.poool.fr/fr/article/engage-sur-application-mobile-ios-et-android-quelles-sont-les-fonctionnalites-disponibles-1qy3x14/) 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/ios/methods#autocreate 


💡Dans le cas où vous souhaitez afficher l'élément dans un **ID cible**, vous devez ajouter une valeur cible à vos vues ainsi :

```
let myView: UIView()

myView.accessibilityIdentifier = "some_value"
```


### 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. 

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/ios/methods#createelement


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

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

La même logique s'appliquera pour la version SwiftUI, avec deux méthodes disponibles. 

### Engage Target et AutoCreate()

```
engage.autoCreate()
```

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/) 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 devez définir un identifiant comme suit :

```
struct ContentView: View {

    var body: some View {
        VStack {
            Text("Some title")
                .engageTarget("third")
        }
    }
}
```



Retrouvez ici la documentation technique : https://www.poool.dev/fr/docs/engage/ios/swiftui#engagetarget-and-autocreate

### Create ElementView

```
var body: some View {
        VStack {
            Text("Some title")
            Text("Article content [...]")

             // Passez simplement l'instance Engage et le slug de l'élément à la vue pour qu'il se charge à l'exécution
            CreateElementView(engage: engage, slug: "my_element")
        }
    }
```

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

Retrouvez ici la documentation sur ce sujet : https://www.poool.dev/fr/docs/engage/ios/swiftui#engagetarget-and-autocreate


# 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"). 


```
engage.autoCreate(filters: ['abonne', 'abonne-inactif'])
```


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()`
