---
title: "Implementar web paywalls en Unity SDK"
description: "Configura un web paywall para cobrar sin las comisiones y auditorías del App Store."
---

:::important
Antes de comenzar, asegúrate de haber [configurado tu web paywall en el dashboard](web-paywall) y de tener instalada la versión 3.14 o posterior del SDK de Adapty.
:::

## Abrir web paywalls \{#open-web-paywalls\}

Si trabajas con un paywall que has desarrollado tú mismo, necesitas gestionar los web paywalls mediante el método del SDK. El método `Adapty.OpenWebPaywall`:
1. Genera una URL única que permite a Adapty vincular un paywall concreto mostrado a un usuario con la página web a la que se le redirige.
2. Detecta cuando tus usuarios vuelven a la app y, a continuación, llama a `Adapty.GetProfile` en intervalos cortos para determinar si se han actualizado los derechos de acceso del perfil.

De este modo, si el pago se ha realizado con éxito y los derechos de acceso se han actualizado, la suscripción se activa en la app casi de inmediato.

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

:::note
Existen dos versiones del método `OpenWebPaywall`:
1. `OpenWebPaywall(product)`, que genera URLs a partir del paywall y también añade los datos del producto a las URLs.
2. `OpenWebPaywall(paywall)`, que genera URLs a partir del paywall sin añadir los datos del producto a las URLs. Úsalo cuando los productos de tu paywall en Adapty sean distintos a los del web paywall.
:::

#### Gestionar errores \{#handle-errors\}

| Código de error | Descripción | Acción recomendada |
|-----------|--------------------------------------------------------|---------------------------------------------------------------------------|
| `AdaptyErrorCode.WrongParam` | El paywall o el producto no tiene configurada una URL de compra web, o no se pudo abrir la URL en el navegador | Revisa el mensaje de error para más detalles. Verifica la configuración del paywall/producto en el Adapty Dashboard, o comprueba la configuración del dispositivo. |
| `AdaptyErrorCode.DecodingFailed` | No se pudieron codificar correctamente los parámetros en la URL | Verifica que los parámetros de la URL sean válidos y estén correctamente formateados |

:::note
Consulta la propiedad `Message` del error para obtener detalles concretos sobre qué salió mal, ya que `WrongParam` puede indicar varios problemas (URL de compra ausente, error al abrir el navegador, etc.).
:::

## Abrir web paywalls en un navegador in-app \{#open-web-paywalls-in-an-in-app-browser\}

:::important
La apertura de web paywalls en un navegador in-app está disponible a partir del SDK de Adapty v. 3.15.
:::

Por defecto, los web paywalls se abren en el navegador externo, lo que lleva a los usuarios fuera de tu app.

Para ofrecer una experiencia de usuario fluida, puedes abrir los web paywalls en un navegador in-app. Esto muestra la página de compra web dentro de tu aplicación, permitiendo a los usuarios completar las transacciones sin cambiar de app.

Para habilitarlo, pasa `AdaptyWebPresentation.InAppBrowser` al método `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");
        }
    }
);
```