Habilitar compras con Flow & Paywall Builder en el SDK de iOS

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)
  • Flows y paywalls – pantallas que presentan productos a los usuarios, creadas en el Flow & Paywall Builder sin código. El SDK las recupera mediante getFlow. Si prefieres construir la UI en tu propio código, consulta Implementar paywalls personalizados.
  • Placements – dónde y cuándo mostrar flows y paywalls en tu app (como main, onboarding, settings). Los vinculas a placements en el dashboard y luego los solicitas por ID de placement en tu código. Esto facilita ejecutar pruebas A/B y mostrar distintos contenidos a diferentes usuarios.

Adapty te ofrece tres formas de habilitar compras en tu aplicación. Selecciona la que mejor se adapte a tus requisitos:

ImplementaciónComplejidadCuándo usarlo
Adapty Flow & Paywall Builder✅ FácilCreas un flow o paywall completo y listo para compras en el constructor sin código. Adapty lo renderiza automáticamente y gestiona toda la lógica de compra, validación de recibos y gestión de suscripciones.
Paywalls personalizados🟡 MediaImplementas la interfaz del paywall en el código de tu app, pero obtienes el objeto flow de Adapty para mantener flexibilidad en la oferta de productos. Consulta la guía.
Modo Observer🔴 DifícilYa tienes tu propia infraestructura de gestión de compras y quieres seguir usándola. Ten en cuenta que el modo Observer tiene sus limitaciones en Adapty. Consulta el artículo.
Important

Los pasos a continuación muestran cómo implementar un flow o paywall creado en el Adapty Flow & Paywall Builder.

Si prefieres construir la interfaz del paywall tú mismo, consulta Implementar paywalls personalizados.

Para mostrar un flow o paywall creado en el Adapty Flow & Paywall Builder, en el código de tu app solo necesitas:

  1. Obtén el flow o el paywall: Recupéralo desde Adapty.
  2. Muéstralo y Adapty gestionará las compras por ti: Muestra la vista en tu app.
  3. Gestiona las acciones de los botones: Asocia las interacciones del usuario con la respuesta de tu app. Por ejemplo, abre enlaces o cierra el paywall cuando el usuario pulse los botones.

Antes de empezar

Antes de empezar, completa estos pasos:

  1. Conecta tu app con App Store en el Adapty Dashboard.
  2. Crea tus productos en Adapty.
  3. Crea un flow o paywall y añade productos.
  4. Crea un placement y añade tu flow o paywall.
  5. Instala y activa el SDK en el código de tu app. Esta guía usa las APIs del SDK de Adapty iOS v4.

1. Obtén el flow o el paywall

Tus flows y paywalls están asociados con placements configurados en el dashboard. Los placements te permiten ejecutar distintos flows o paywalls para diferentes audiencias o ejecutar pruebas A/B.

Para obtener un flow o paywall creado en el Adapty Flow & Paywall Builder, necesitas:

  1. Obtener el objeto flow por el ID del placement usando el método getFlow y comprobar si tiene una configuración de vista.
  2. Obtener la configuración de vista usando el método getFlowConfiguration. Esta contiene los elementos de UI y los estilos necesarios para mostrarlo.

func loadFlow() async {
    let flow = try await Adapty.getFlow(placementId: "YOUR_PLACEMENT_ID")

    guard flow.hasViewConfiguration else {
        print("Flow doesn't have a view configuration")
        return
    }

    flowConfiguration = try await AdaptyUI.getFlowConfiguration(forFlow: flow)
}

2. Mostrar el flow o paywall

Ahora que tienes la configuración del flow, basta con añadir unas pocas líneas para mostrar tu flow o paywall.

Info

Para más detalles sobre cómo mostrar un flow o paywall, consulta nuestra guía.

3. Gestionar las acciones de los botones

Cuando los usuarios pulsan botones, el SDK de iOS gestiona automáticamente las compras, la restauración, el cierre de pantalla y la apertura de enlaces.

Sin embargo, otros botones tienen IDs personalizados o predefinidos y requieren gestionar las acciones en tu código. O puede que quieras sobreescribir su comportamiento predeterminado.

Por ejemplo, así es como se gestiona el botón de cerrar. En UIKit, el SDK cierra el controlador automáticamente cuando se dispara .close — sobreescríbelo solo si quieres un comportamiento personalizado. En SwiftUI, debes establecer tu binding isPresented a false tú mismo.

Tip

Lee nuestras guías sobre cómo gestionar acciones y eventos de los botones.

Siguientes pasos

Tip

¿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 flow o paywall está listo para mostrarse en la app. Prueba tus compras en modo sandbox para asegurarte de que puedes completar una compra de prueba.

Ahora necesitas comprobar el nivel de acceso de los usuarios para asegurarte de que muestras un paywall o das acceso a las funciones de pago a los usuarios correctos.

Ejemplo completo

Aquí puedes ver cómo integrar todos los pasos de esta guía en tu app.