---
title: "Implémenter des paywalls web dans le SDK Unity"
description: "Configurez un paywall web pour être payé sans les frais et audits de l'App Store."
---

:::important
Avant de commencer, assurez-vous d'avoir [configuré votre paywall web dans le tableau de bord](web-paywall) et d'avoir installé le SDK Adapty version 3.14 ou ultérieure.
:::

## Paywalls web ouverts \{#open-web-paywalls\}

Si vous travaillez avec un paywall que vous avez développé vous-même, vous devez gérer les paywalls web via la méthode du SDK. La méthode `Adapty.OpenWebPaywall` :
1. Génère une URL unique permettant à Adapty de relier un paywall spécifique affiché à un utilisateur donné à la page web vers laquelle il est redirigé.
2. Détecte quand vos utilisateurs reviennent dans l'application, puis appelle `Adapty.GetProfile` à intervalles courts pour déterminer si les droits d'accès du profil ont été mis à jour.

Ainsi, si le paiement a réussi et que les droits d'accès ont été mis à jour, l'abonnement s'active dans l'application presque immédiatement.

```csharp showLineNumbers title="Unity"
Adapty.OpenWebPaywall(
    product,
    AdaptyWebPresentation.ExternalBrowser,
    (error) =>
    {
        if (error != null)
        {
            Debug.LogError($"Failed to open web paywall: {error.Message}");
        }
        else
        {
            Debug.Log("Web paywall opened successfully");
        }
    }
);
```

:::note
Il existe deux versions de la méthode `OpenWebPaywall` :
1. `OpenWebPaywall(product)` qui génère des URLs à partir du paywall et y ajoute les données du produit.
2. `OpenWebPaywall(paywall)` qui génère des URLs à partir du paywall sans ajouter les données du produit. Utilisez-la lorsque vos produits dans le paywall Adapty diffèrent de ceux du paywall web.

Dans le SDK v4, l'argument `paywall` prend un `AdaptyFlowPaywall` — l'une des variations de paywall dans `flow.Paywalls`. Consultez le [guide de migration](migration-to-unity-sdk-v4).
:::

#### Gérer les erreurs \{#handle-errors\}

| Code d'erreur | Description                                            | Action recommandée                                                        |
|-----------|--------------------------------------------------------|---------------------------------------------------------------------------|
| `AdaptyErrorCode.WrongParam`   | Le paywall ou le produit ne dispose pas d'une URL d'achat web configurée, ou l'ouverture de l'URL dans le navigateur a échoué | Consultez le message d'erreur pour plus de détails. Vérifiez la configuration du paywall/produit dans l'Adapty Dashboard, ou vérifiez les paramètres de l'appareil. |
| `AdaptyErrorCode.DecodingFailed` | Échec de l'encodage correct des paramètres dans l'URL        | Vérifiez que les paramètres d'URL sont valides et correctement formatés                    |

:::note
Vérifiez la propriété `Message` de l'erreur pour obtenir des détails sur ce qui s'est mal passé, car `WrongParam` peut indiquer plusieurs problèmes (URL d'achat manquante, échec de l'ouverture du navigateur, etc.).
:::

## Ouvrir les paywalls web dans un navigateur intégré \{#open-web-paywalls-in-an-in-app-browser\}

:::important
L'ouverture des paywalls web dans un navigateur intégré est prise en charge à partir du SDK Adapty v3.15.
:::

Par défaut, les paywalls web s'ouvrent dans le navigateur externe, ce qui fait quitter l'application à l'utilisateur.

Pour offrir une expérience fluide, vous pouvez ouvrir les paywalls web dans un navigateur intégré. La page d'achat web s'affiche alors directement dans votre application, permettant aux utilisateurs de finaliser leurs transactions sans changer d'app.

Pour activer cette option, passez `AdaptyWebPresentation.InAppBrowser` à la méthode `OpenWebPaywall` :

```csharp showLineNumbers title="Unity"
Adapty.OpenWebPaywall(
    product,
    AdaptyWebPresentation.InAppBrowser, // default — ExternalBrowser
    (error) =>
    {
        if (error != null)
        {
            Debug.LogError($"Failed to open web paywall: {error.Message}");
        }
        else
        {
            Debug.Log("Web paywall opened successfully");
        }
    }
);
```