Habilitar compras en tu paywall personalizado en Unity SDK

Esta guía describe cómo integrar Adapty en tus paywalls personalizados. Mantén el control total sobre la implementación del paywall mientras el SDK de Adapty obtiene productos, gestiona nuevas compras y restaura las anteriores. Esta guía utiliza las APIs de Adapty Unity SDK v4 (beta) — si usas v3, consulta la guía de migración para conocer los nombres de métodos correspondientes.

Esta guía es para desarrolladores que implementan paywalls personalizados. Si quieres la forma más sencilla de activar compras, usa el Adapty Flow Builder. Con Flow Builder, creas flows en un editor visual sin código, Adapty gestiona toda la lógica de compras automáticamente y puedes probar distintos diseños sin volver a publicar tu app.

Antes de empezar

Configura los productos

Para habilitar las compras in-app, necesitas entender tres conceptos clave:

  • Productos – todo lo que los usuarios pueden comprar (suscripciones, consumibles, acceso de por vida)
  • Paywalls – configuraciones que definen qué productos ofrecer. En Adapty, los paywalls son la única forma de obtener productos, pero este diseño te permite modificar productos, precios y ofertas sin tocar el código de tu app. En SDK v4, las variaciones de paywall para un placement las lleva un objeto flow — obtienes un flow y consultas sus productos.
  • Placements – dónde y cuándo mostrar paywalls en tu app (como main, onboarding, settings). Configuras los paywalls para los placements en el dashboard y luego los solicitas por ID de placement en tu código. Esto facilita ejecutar pruebas A/B y mostrar diferentes paywalls a distintos usuarios.

Asegúrate de entender estos conceptos incluso si trabajas con tu paywall personalizado. Básicamente, son solo tu forma de gestionar los productos que vendes en tu app.

Para implementar tu paywall personalizado, necesitarás crear un paywall y añadirlo a un placement. Esta configuración te permite obtener tus productos. Para saber qué debes hacer en el dashboard, sigue la guía de inicio rápido aquí.

Gestiona usuarios

Puedes trabajar con o sin autenticación de backend en tu lado.

Sin embargo, el SDK de Adapty gestiona de forma diferente a los usuarios anónimos e identificados. Lee la guía de inicio rápido de identificación para entender las particularidades y asegurarte de que trabajas correctamente con los usuarios.

Paso 1. Obtener productos

Para obtener los productos de tu paywall personalizado, necesitas:

  1. Obtener el objeto flow pasando el ID del placement al método GetFlow.
  2. Obtener el array de productos para este flow usando el método GetPaywallProducts.
using AdaptySDK;

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

        Adapty.GetPaywallProducts(flow, (products, productsError) => {
            if (productsError != null) {
                // Handle the error
                return;
            }

            // Use products to build your custom paywall UI
        });
    });
}

Paso 2. Aceptar compras

Cuando un usuario pulsa sobre un producto en tu paywall personalizado, llama al método MakePurchase con el producto seleccionado. Esto gestionará el flow de compra y devolverá el perfil actualizado.

using AdaptySDK;

void PurchaseProduct(AdaptyPaywallProduct product) {
    Adapty.MakePurchase(product, (result, error) => {
        if (error != null) {
            // Handle the error
            return;
        }

        switch (result.Type) {
            case AdaptyPurchaseResultType.Success:
                var profile = result.Profile;
                // Purchase successful, profile updated
                break;
            case AdaptyPurchaseResultType.UserCancelled:
                // User canceled the purchase
                break;
            case AdaptyPurchaseResultType.Pending:
                // Purchase is pending (e.g., user will pay offline with cash)
                break;
        }
    });
}

Paso 3. Restaurar compras

Los stores requieren que todas las aplicaciones con suscripciones ofrezcan una forma de que los usuarios puedan restaurar sus compras.

Llama al método RestorePurchases cuando el usuario pulse el botón de restaurar. Esto sincronizará su historial de compras con Adapty y devolverá el perfil actualizado.

using AdaptySDK;

void RestorePurchases() {
    Adapty.RestorePurchases((profile, error) => {
        if (error != null) {
            // Handle the error
            return;
        }

        // Restore successful, profile updated
    });
}

Paso 4. Comprobar el estado de la suscripción

Tras una compra o restauración, comprueba el nivel de acceso del usuario para decidir si mostrar el paywall o desbloquear las funciones de pago. Los métodos MakePurchase y RestorePurchases ya devuelven el perfil actualizado; cuando necesites el estado actual en otro lugar de la app, usa el método GetProfile:

using AdaptySDK;

void CheckPremiumAccess() {
    Adapty.GetProfile((profile, error) => {
        if (error != null) {
            // Handle the error
            return;
        }

        var hasPremiumAccess =
            profile.AccessLevels.TryGetValue("premium", out var premium) && premium.IsActive;
        // Grant access to paid features if hasPremiumAccess is true
    });
}

Para más formas de comprobar y monitorizar el estado de la suscripción, incluida la escucha de actualizaciones en tiempo real, consulta Comprobar el estado de la suscripción.

Próximos pasos

¿Tienes preguntas o estás teniendo algún problema? Consulta nuestro foro de soporte donde encontrarás respuestas a preguntas frecuentes o podrás plantear las tuyas. ¡Nuestro equipo y la comunidad están aquí para ayudarte!

Tu paywall ya está listo para mostrarse en la app. Prueba tus compras en el sandbox de App Store o en Google Play Store para asegurarte de que puedes completar una compra de prueba desde el paywall.