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

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

  • Products – todo lo que los usuarios pueden comprar (suscripciones, consumibles, acceso de por vida)
  • Flows – secuencias de pantallas que presentan productos a los usuarios, creadas con el Flow & Paywall Builder sin código. El SDK las obtiene mediante getFlow. Si prefieres construir la interfaz en tu propio código, usa un paywall en su lugar — consulta Implementar paywalls manualmente.
  • Placements – dónde y cuándo mostrar flows en tu app (como main, onboarding, settings). Asocias flows 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 flows distintos 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 usarla
Adapty Flow & Paywall Builder✅ FácilCreas un flow completo y listo para compras en el constructor sin código. Adapty lo renderiza automáticamente y gestiona todo el proceso de compra, validación de recibos y gestión de suscripciones en segundo plano.
Paywalls creados manualmente🟡 MediaImplementas la UI de tu paywall en el código de tu app, pero sigues obteniendo 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 limitaciones en Adapty. Consulta el artículo.
Important

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

Se si prefiere crear la UI del paywall manualmente, consulta Implementar paywalls manualmente.

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

  1. Obtén el flow: Obtenlo 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 flow cuando los usuarios pulsen 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 y añade productos.
  4. Crea un placement y añade tu flow.
  5. Instala y activa el SDK en el código de tu app. Esta guía usa las APIs del SDK de Adapty para iOS v4.

1. Obtén el flow

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

Para obtener un flow 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 el estilo necesarios para mostrar el flow.

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

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

Info

Para más detalles sobre cómo mostrar un flow, 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 del flow y la apertura de enlaces.

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

Por ejemplo, así es como gestionar el botón de cierre. En UIKit, el SDK descarta 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.

Próximos 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 paywall está listo para mostrarse en la app. Prueba tus compras en modo sandbox para asegurarte de que puedes completar una compra de prueba desde el paywall.

Ahora necesitas comprobar el nivel de acceso de los usuarios para asegurarte de mostrar un paywall o dar 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.