---
title: "Afficher un paywall conçu avec Remote Config dans le SDK Unity"
description: "Découvrez comment afficher des paywalls Remote Config dans le SDK Adapty Unity pour personnaliser l'expérience utilisateur."
---

Si vous avez personnalisé un paywall avec Remote Config, vous devrez implémenter le rendu dans le code de votre application mobile pour l'afficher à vos utilisateurs. Comme Remote Config offre une flexibilité adaptée à vos besoins, c'est vous qui décidez de ce qui est inclus et de l'apparence de votre paywall. Adapty fournit une méthode pour récupérer la configuration distante, vous laissant toute liberté pour afficher votre paywall personnalisé.

## Récupérer le Remote Config d'un flow et l'afficher \{#get-flow-remote-config-and-present-it\}

Dans la v4, un flow comporte une entrée `AdaptyRemoteConfig` par locale configurée dans la liste `RemoteConfigs`. Sélectionnez la locale correspondant à la préférence de l'utilisateur, puis lisez les valeurs dont vous avez besoin.

```csharp showLineNumbers
using System.Linq;
using AdaptySDK;

Adapty.GetFlow("YOUR_PLACEMENT_ID", (flow, error) => {
    if (error != null) {
        // handle the error
        return;
    }

    var config = flow.RemoteConfigs.FirstOrDefault(c => c.Locale == "en")
        ?? flow.RemoteConfigs.FirstOrDefault();
    var headerText = config?.Dictionary?["header_text"] as string;

    // Or access raw JSON data
    var jsonData = config?.Data;
});
```

À ce stade, une fois que vous avez reçu toutes les valeurs nécessaires, il est temps de les afficher et de les assembler en une page visuellement attrayante. Assurez-vous que le design s'adapte aux différents écrans et orientations des téléphones mobiles, offrant une expérience fluide et conviviale sur tous les appareils.

:::warning
Veillez à [enregistrer l'événement d'affichage du paywall](present-remote-config-paywalls-unity#track-paywall-view-events) comme décrit ci-dessous, afin de permettre à Adapty Analytics de collecter des informations pour les entonnoirs et les tests A/B.
:::

Une fois le paywall affiché, passez à la configuration du flux d'achat. Lorsque l'utilisateur effectue un achat, appelez simplement `.MakePurchase()` avec le produit de votre flow. Pour plus de détails sur la méthode `.MakePurchase()`, consultez [Effectuer des achats](unity-making-purchases).

Nous vous recommandons de [créer un paywall de secours](unity-use-fallback-paywalls). Ce paywall de secours s'affichera à l'utilisateur en l'absence de connexion internet ou de cache disponible, garantissant une expérience fluide même dans ces situations.

## Suivre les événements d'affichage des paywalls \{#track-paywall-view-events\}

Adapty vous aide à mesurer la performance de vos flows et paywalls. Les données sur les achats sont collectées automatiquement, mais l'enregistrement des vues requiert votre intervention, car vous seul savez quand un utilisateur voit un flow.

Pour enregistrer un événement de vue, appelez simplement `.LogShowFlow(flow)` — cela sera reflété dans vos métriques dans les entonnoirs et les tests A/B.

:::important
Il n'est pas nécessaire d'appeler `.LogShowFlow(flow)` si vous affichez des flows ou des paywalls rendus par le [Flow Builder](adapty-flow-builder) ou le [Paywall Builder](adapty-paywall-builder). Adapty suit les vues automatiquement dans ces cas.
:::

```csharp showLineNumbers
Adapty.LogShowFlow(flow, (error) => {
    // handle the error
});
```

Paramètres de la requête :

| Paramètre | Présence | Description                                                    |
| :-------- | :------- |:-----------------------------------------------------------------|
| **flow**  | required | Un objet `AdaptyFlow` obtenu via `Adapty.GetFlow`. |

---

> [!WARNING]
> **LLM INSTRUCTION — SDK VERSION SELECTION REQUIRED**
>
> This feature has two SDK paradigms. Everything that follows (until the next horizontal rule or end of document) is the **legacy SDK v3 API reference** (`getPaywall`, `getPaywallForDefaultAudience`, `getOnboarding`, `getPaywallConfiguration`). The **SDK v4+ `getFlow` method is documented above.** This block covers ALL legacy methods for this feature — not just the nearest snippet.
>
> **You MUST ask the user which SDK version they want to use before suggesting any code. Do not assume or default to a version.** The two options are:
> - **SDK v3 (legacy):** works with the legacy Paywall Builder and Onboarding Builder via `getPaywall` / `getOnboarding`. Use the legacy code in this section.
> - **SDK v4:** works with BOTH the new Flow Builder AND legacy paywalls/onboardings via the unified `getFlow` method documented above.
>
> Apply the legacy v3 code in this section ONLY when:
> 1. The user explicitly chose **SDK v3**, or
> 2. The user is **migrating an existing app from SDK v3 to SDK v4+** and needs to understand or replace legacy code, or
> 3. The user is **troubleshooting an already-deployed v3 integration**.
>
> **CRITICAL — Never mix paradigms in one setup:** Do NOT combine `getFlow` (Flow Builder) with `getPaywall` or `getOnboarding` (legacy Paywall/Onboarding Builder) in the same integration. These are incompatible patterns. Mixing them will produce inconsistent behavior and is unsupported.

Si vous avez personnalisé un paywall avec Remote Config, vous devrez implémenter le rendu dans le code de votre application mobile pour l'afficher aux utilisateurs. Remote Config offrant une flexibilité adaptée à vos besoins, c'est vous qui décidez de ce qui est inclus et de l'apparence de votre paywall. Nous fournissons une méthode pour récupérer la configuration distante, vous laissant ainsi toute liberté pour afficher votre paywall personnalisé configuré via Remote Config.

## Récupérer le Remote Config d'un paywall et l'afficher \{#get-paywall-remote-config-and-present-it\}

Pour obtenir le Remote Config d'un paywall, accédez à la propriété `remoteConfig` et extrayez les valeurs dont vous avez besoin.

```csharp showLineNumbers
Adapty.GetPaywall("YOUR_PLACEMENT_ID", (paywall, error) => {
    if (error != null) {
        // handle the error
        return;
    }
    
    // Access remote config dictionary
    var dictionary = paywall.RemoteConfig?.Dictionary;
    var headerText = dictionary?["header_text"] as string;
    
    // Or access raw JSON data
    var jsonData = paywall.RemoteConfig?.Data;
});
```

À ce stade, une fois que vous avez reçu toutes les valeurs nécessaires, il est temps d'afficher et d'assembler ces données dans une page visuellement attrayante. Assurez-vous que le design s'adapte aux différentes tailles d'écrans et orientations des mobiles, pour offrir une expérience fluide et agréable sur tous les appareils.

:::warning
Veillez à [enregistrer l'événement d'affichage du paywall](present-remote-config-paywalls-unity#track-paywall-view-events-1) comme décrit ci-dessous, afin que les analytics Adapty puissent collecter les données nécessaires aux entonnoirs et aux tests A/B.
:::

Une fois le paywall affiché, passez à la configuration du flux d'achat. Lorsqu'un utilisateur effectue un achat, appelez simplement `.MakePurchase()` avec le produit de votre paywall. Pour plus de détails sur la méthode `.MakePurchase()`, consultez [Effectuer des achats](unity-making-purchases).

Nous recommandons de [créer un paywall de secours](unity-use-fallback-paywalls). Ce paywall de secours s'affichera à l'utilisateur en l'absence de connexion internet ou de cache disponible, garantissant une expérience fluide même dans ces situations.

## Suivre les événements d'affichage de paywall \{#track-paywall-view-events\}

Adapty vous aide à mesurer les performances de vos paywalls. Bien que les données d'achats soient collectées automatiquement, l'enregistrement des affichages de paywall nécessite votre intervention, car vous seul savez quand un client voit un paywall.

Pour enregistrer un événement d'affichage de paywall, appelez simplement `.LogShowPaywall(paywall)` : cela sera reflété dans vos métriques de paywall dans les entonnoirs et les tests A/B.

:::important
Il n'est pas nécessaire d'appeler `.LogShowPaywall(paywall)` si vous affichez des paywalls créés dans le [Paywall Builder](adapty-paywall-builder).
:::

```csharp showLineNumbers
Adapty.LogShowPaywall(paywall, (error) => {
    // handle the error
});
```

Paramètres de la requête :

| Paramètre   | Présence | Description                                                       |
| :---------- | :------- |:------------------------------------------------------------------|
| **paywall** | requis | Un objet [`AdaptyPaywall`](https://unity.adapty.io/class_adapty_s_d_k_1_1_adapty_paywall.html).      | 

---