Presentar onboardings en el SDK de iOS

A partir del SDK v4 (beta), puedes crear flows como alternativa más potente a los onboardings. A diferencia de los onboardings, que se ejecutan dentro de un WebView, los flows se renderizan de forma nativa en el dispositivo, lo que ofrece animaciones más fluidas, una apariencia iOS coherente, tiempos de carga más rápidos y sin dependencia del runtime de WebView. Consulta Obtener flows y paywalls y Mostrar flows y paywalls para empezar.

Si has personalizado un onboarding con el builder, no necesitas preocuparte por renderizarlo en el código de tu app para mostrárselo al usuario. Ese onboarding ya incluye tanto lo que debe mostrarse como la forma en que debe mostrarse.

Antes de empezar, asegúrate de:

  1. Haber instalado el SDK de Adapty para iOS 3.8.0 o posterior.
  2. Haber creado un onboarding.
  3. Haber añadido el onboarding a un placement.

Presentar onboardings en Swift

Para mostrar el onboarding visual en la pantalla del dispositivo, sigue estos pasos:

  1. Obtén la configuración de la vista del onboarding con el método .getOnboardingConfiguration.

  2. Inicializa el onboarding visual que quieres mostrar usando el método .onboardingController:

    Parámetros de la solicitud: | Parámetro | Presencia | Descripción | |:-----------------------------|:---------|:------------------------------------------------------------------------------------------------------------------------------------------------------------| | onboarding configuration | requerido | Un objeto AdaptyUI.OnboardingConfiguration que contiene todas las propiedades del onboarding. Usa el método AdaptyUI.getOnboardingConfiguration para obtenerlo. | | delegate | requerido | Un AdaptyOnboardingControllerDelegate para escuchar los eventos del onboarding. | Retorna:

    ObjetoDescripción
    AdaptyOnboardingControllerUn objeto que representa la pantalla de onboarding solicitada
  3. Una vez creado el objeto correctamente, puedes mostrarlo en la pantalla del dispositivo:

    import Adapty
    import AdaptyUI
   // 0. Get an onboarding if you haven't done it yet     
   let onboarding = try await Adapty.getOnboarding(placementId: "YOUR_PLACEMENT_ID")
   
   // 1. Obtain the onboarding view configuration:
   let configuration = try AdaptyUI.getOnboardingConfiguration(forOnboarding: onboarding)

   // 2. Create Onboarding View Controller
   let onboardingController = try AdaptyUI.onboardingController(
       with: configuration,
       delegate: <AdaptyOnboardingControllerDelegate>
   ) 

   // 3. Present it to the user
   present(onboardingController, animated: true)

Mostrar onboardings en SwiftUI

Para mostrar el onboarding visual en la pantalla del dispositivo con SwiftUI:

// 1. Obtain the onboarding view configuration:
let configuration = try AdaptyUI.getOnboardingConfiguration(forOnboarding: onboarding)

// 2. Display the Onboarding View within your view hierarchy
AdaptyOnboardingView(
    configuration: configuration,
    placeholder: { Text("Your Placeholder View") },
    onCloseAction: { action in
        // hide the onboarding view
    },
    onError: { error in
         // handle the error
    }
)

Agregar transiciones suaves entre la pantalla de bienvenida y el onboarding

Por defecto, entre la pantalla de bienvenida y el onboarding verás una pantalla de carga hasta que el onboarding se haya cargado por completo. Sin embargo, si quieres que la transición sea más fluida, puedes personalizarla y prolongar la pantalla de bienvenida o mostrar otra cosa.

Para ello, define un placeholder (lo que se mostrará mientras el onboarding se está cargando). Si defines un placeholder, el onboarding se cargará en segundo plano y se mostrará automáticamente cuando esté listo.

La personalización de cómo se abren los enlaces en los onboardings está disponible a partir de Adapty SDK v.3.15.1.

Por defecto, los enlaces en los onboardings se abren en un navegador dentro de la app. Esto proporciona una experiencia de usuario fluida al mostrar páginas web dentro de tu aplicación, sin necesidad de cambiar de app.

Si prefieres abrir los enlaces en un navegador externo, puedes personalizar este comportamiento estableciendo el parámetro externalUrlsPresentation como .externalBrowser:


let configuration = try AdaptyUI.getOnboardingConfiguration(
    forOnboarding: onboarding,
    externalUrlsPresentation: .externalBrowser // default – .inAppBrowser
)