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

Si vous avez personnalisé un flow via Remote Config, vous devrez implémenter le rendu dans le code de votre application mobile pour l'afficher aux utilisateurs. Comme Remote Config offre une flexibilité adaptée à vos besoins, vous contrôlez ce qui est inclus et la façon dont votre vue de flow apparaît. Nous fournissons une méthode pour récupérer la configuration distante, vous laissant toute liberté pour présenter votre flow personnalisé configuré via Remote Config.

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

Dans la v4, un flow contient une entrée `AdaptyRemoteConfig` par langue configurée dans le tableau `remoteConfigs`. Choisissez la langue qui correspond à la préférence de l'utilisateur, puis lisez les valeurs dont vous avez besoin depuis son `data`.

```typescript showLineNumbers

try {
  const flow = await adapty.getFlow({ placementId: 'YOUR_PLACEMENT_ID' });
  const config = flow.remoteConfigs?.find((c) => c.lang === 'en')
    ?? flow.remoteConfigs?.[0];
  const headerText = config?.data?.['header_text'];
} catch (error) {
  console.error('Failed to fetch flow:', error);
}
```

À ce stade, une fois toutes les valeurs nécessaires reçues, il est temps de les assembler en une page visuellement attrayante. Assurez-vous que le design s'adapte aux différentes tailles d'écran et orientations des appareils mobiles, pour une expérience fluide et conviviale sur tous les terminaux.

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

Une fois l'affichage du flow terminé, poursuivez en configurant le 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](capacitor-making-purchases).

Nous recommandons de [créer un paywall de secours appelé fallback paywall](capacitor-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 du paywall \{#track-paywall-view-events\}

Adapty vous aide à mesurer les performances de vos flows. Bien que nous collectons automatiquement les données sur les achats, l'enregistrement des affichages de flows nécessite votre intervention, car vous seul savez quand un client voit un flow.

Pour enregistrer un événement d'affichage de flow, appelez simplement `.logShowFlow({ flow })` — il sera alors 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 `.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 affichages automatiquement dans ces cas.
:::

```typescript showLineNumbers

await adapty.logShowFlow({ flow });
```

Paramètres de la requête :

| Paramètre | Présence | Description                                                                          |
| :-------- | :------- |:-------------------------------------------------------------------------------------|
| **flow**  | requis | Un objet `AdaptyFlow` obtenu via `adapty.getFlow({ placementId })`.                |

---

> [!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 via Remote Config, vous devrez implémenter le rendu dans le code de votre application mobile pour l'afficher aux utilisateurs. Comme Remote Config offre une flexibilité adaptée à vos besoins, vous contrôlez ce qui est inclus et la façon dont votre vue de paywall apparaît. Nous fournissons une méthode pour récupérer la configuration distante, vous laissant toute liberté pour présenter votre paywall personnalisé configuré via Remote Config.

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

Pour obtenir la Remote Config d'un paywall, accédez à la propriété `remoteConfig` et extrayez les valeurs nécessaires.

```typescript showLineNumbers

try {
  const paywall = await adapty.getPaywall({ 
    placementId: 'YOUR_PLACEMENT_ID',
    params: {
      fetchPolicy: 'reload_revalidating_cache_data', // Load from server, fallback to cache
      loadTimeoutMs: 5000 // 5 second timeout
    }
  });
  const headerText = paywall.remoteConfig?.data?.['header_text'];
} catch (error) {
  console.error('Failed to fetch paywall:', error);
}
```

À ce stade, une fois toutes les valeurs nécessaires reçues, il est temps de les assembler en une page visuellement attrayante. Assurez-vous que le design s'adapte aux différentes tailles d'écran et orientations des appareils mobiles, pour une expérience fluide et conviviale sur tous les terminaux.

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

Une fois l'affichage du paywall terminé, poursuivez en configurant le flux d'achat. Lorsque l'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](capacitor-making-purchases).

Nous recommandons de [créer un paywall de secours appelé fallback paywall](capacitor-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 du paywall \{#track-paywall-view-events-1\}

Adapty vous aide à mesurer les performances de vos paywalls. Bien que nous collectons automatiquement les données sur les achats, l'enregistrement des affichages de paywalls 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)` — il sera alors 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).
:::

```typescript showLineNumbers

try {
  await adapty.logShowPaywall({ paywall });
} catch (error) {
  console.error('Failed to log paywall view:', error);
}
```

Paramètres de la requête :

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

---