---
title: "Présenter les onboardings dans le SDK Android"
description: "Apprenez à présenter les onboardings sur Android pour un engagement utilisateur efficace."
---

:::tip
**À partir du SDK v4**, vous pouvez créer des [flows](android-get-pb-paywalls) comme alternative plus puissante aux onboardings. Contrairement aux onboardings qui s'exécutent dans une WebView, les flows se rendent nativement sur l'appareil — vous offrant des animations plus fluides, un look and feel Android cohérent, des temps de chargement plus rapides et aucune dépendance au runtime WebView. Consultez [Obtenir les flows et paywalls](android-get-pb-paywalls) et [Afficher les flows et paywalls](android-present-paywalls) pour commencer.
:::

Avant de commencer, assurez-vous que :

1. Vous avez installé le [SDK Adapty Android](sdk-installation-android) version 3.8.0 ou ultérieure.
2. Vous avez [créé un onboarding](create-onboarding).
3. Vous avez ajouté l'onboarding à un [placement](placements).

Si vous avez personnalisé un onboarding avec l'Onboarding Builder, vous n'avez pas à vous soucier de son rendu dans votre code d'application mobile pour l'afficher à l'utilisateur. Un tel onboarding contient à la fois ce qui doit être affiché et comment il doit l'être.

Pour afficher l'onboarding visuel à l'écran de l'appareil, vous devez d'abord le configurer. Pour ce faire, appelez la méthode `AdaptyUI.getOnboardingView()` ou créez directement le `OnboardingView` :

<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin (option 1)" default>

```kotlin
val onboardingView = AdaptyUI.getOnboardingView(
    activity = this,
    viewConfig = onboardingConfig,
    eventListener = eventListener
)
```
  </TabItem>
  <TabItem value="kotlin2" label="Kotlin (option 2)">

```kotlin
val onboardingView = AdaptyOnboardingView(activity)
onboardingView.show(
    viewConfig = onboardingConfig,
    delegate = eventListener
)
```
  </TabItem>
  <TabItem value="java" label="Java (option 1)">

```java
AdaptyOnboardingView onboardingView = AdaptyUI.getOnboardingView(
    activity,
    onboardingConfig,
    eventListener
);
```
  </TabItem>
  <TabItem value="java2" label="Java (option 2)">

```java
AdaptyOnboardingView onboardingView = new AdaptyOnboardingView(activity);
onboardingView.show(onboardingConfig, eventListener);
```
  </TabItem>
  <TabItem value="xml" label="XML">

```xml
<com.adapty.ui.onboardings.AdaptyOnboardingView
        android:id="@+id/onboardingView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
```
  </TabItem>
</Tabs>

Une fois la vue créée avec succès, vous pouvez l'ajouter à la hiérarchie de vues et l'afficher à l'écran de l'appareil.

Paramètres de la requête :

| Paramètre | Présence | Description                                                                                                                                                                      |
| :-------- | :------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **viewConfig** | requis | La configuration d'onboarding obtenue depuis `AdaptyUI.getOnboardingConfiguration()`                                                                                               |
| **eventListener** | requis | Une implémentation de `AdaptyOnboardingEventListener` pour gérer les événements d'onboarding. Consultez [Gestion des événements d'onboarding](android-handle-onboarding-events) pour plus de détails.      |

## Modifier la couleur de l'indicateur de chargement \{#change-loading-indicator-color\}

Vous pouvez remplacer la couleur par défaut de l'indicateur de chargement de la façon suivante :

```xml

<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
    
    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>
```

## Ajouter des transitions fluides entre l'écran de démarrage et l'onboarding \{#add-smooth-transitions-between-the-splash-screen-and-onboarding\}

Par défaut, entre l'écran de démarrage et l'onboarding, vous verrez l'écran de chargement jusqu'à ce que l'onboarding soit entièrement chargé. Si vous souhaitez rendre la transition plus fluide, vous pouvez la personnaliser et soit prolonger l'écran de démarrage, soit afficher autre chose.

Pour ce faire, créez `adapty_onboarding_placeholder_view.xml` dans `res/layout` et définissez-y un placeholder (ce qui sera affiché pendant le chargement de l'onboarding).

Si vous définissez un placeholder, l'onboarding sera chargé en arrière-plan et affiché automatiquement une fois prêt.

## Désactiver les marges de zone sécurisée \{#disable-safe-area-paddings\}

Par défaut, la vue d'onboarding applique automatiquement des marges de zone sécurisée pour éviter les éléments d'interface système comme la barre d'état et la barre de navigation. Si vous souhaitez désactiver ce comportement et avoir un contrôle total sur la mise en page, vous pouvez le faire en définissant le paramètre `safeAreaPaddings` sur `false`.

<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin (option 1)" default>

```kotlin
val onboardingView = AdaptyUI.getOnboardingView(
    activity = this,
    viewConfig = onboardingConfig,
    eventListener = eventListener,
    safeAreaPaddings = false
)
```
  </TabItem>
  <TabItem value="kotlin2" label="Kotlin (option 2)">

```kotlin
val onboardingView = AdaptyOnboardingView(activity)
onboardingView.show(
    viewConfig = onboardingConfig,
    delegate = eventListener,
    safeAreaPaddings = false
)
```
  </TabItem>
  <TabItem value="java" label="Java (option 1)">

```java
AdaptyOnboardingView onboardingView = AdaptyUI.getOnboardingView(
    activity,
    onboardingConfig,
    eventListener,
    false
);
```
  </TabItem>
  <TabItem value="java2" label="Java (option 2)">

```java
AdaptyOnboardingView onboardingView = new AdaptyOnboardingView(activity);
onboardingView.show(onboardingConfig, eventListener, false);
```
  </TabItem>
</Tabs>

Vous pouvez également contrôler ce comportement globalement en ajoutant une ressource booléenne à votre application :

```xml

<resources>
    <bool name="adapty_onboarding_enable_safe_area_paddings">false</bool>
</resources>
```

Lorsque `safeAreaPaddings` est défini sur `false`, l'onboarding s'étend sur tout l'écran sans ajustement automatique des marges, vous donnant un contrôle total sur la mise en page et permettant au contenu de l'onboarding d'utiliser tout l'espace de l'écran.

## Personnaliser l'ouverture des liens dans les onboardings \{#customize-how-links-open-in-onboardings\}

:::important
La personnalisation de l'ouverture des liens dans les onboardings est prise en charge à partir du SDK Adapty v3.15.1.
:::

Par défaut, les liens dans les onboardings s'ouvrent dans un navigateur intégré à l'application. Cela offre une expérience utilisateur fluide en affichant les pages web au sein de votre application, permettant aux utilisateurs de les consulter sans changer d'application.

Si vous préférez ouvrir les liens dans un navigateur externe, vous pouvez personnaliser ce comportement en définissant le paramètre `externalUrlsPresentation` sur `AdaptyWebPresentation.ExternalBrowser` :

<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin" default>

```kotlin
val onboardingConfig = AdaptyUI.getOnboardingConfiguration(
    onboarding = onboarding,
    externalUrlsPresentation = AdaptyWebPresentation.ExternalBrowser // default – InAppBrowser
)
```
  </TabItem>
  <TabItem value="java" label="Java">

```java
AdaptyOnboardingConfiguration onboardingConfig = AdaptyUI.getOnboardingConfiguration(
    onboarding,
    AdaptyWebPresentation.ExternalBrowser // default – InAppBrowser
);
```
  </TabItem>
</Tabs>