---
title: "Mostrar onboardings en el SDK de iOS"
description: "Descubre cómo mostrar onboardings en iOS para aumentar las conversiones y los ingresos."
---

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 hacerlo.

Antes de empezar, asegúrate de que:

1. Tienes instalado el [SDK de Adapty para iOS](sdk-installation-ios) 3.8.0 o posterior.
2. Has [creado un onboarding](create-onboarding).
3. Has añadido el onboarding a un [placement](placements).

## Mostrar onboardings en Swift \{#present-onboardings-in-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**   | obligatorio | Un objeto `AdaptyUI.OnboardingConfiguration` con todas las propiedades del onboarding. Usa el método `AdaptyUI.getOnboardingConfiguration` para obtenerlo.        |
   | **delegate**                   | obligatorio | Un `AdaptyOnboardingControllerDelegate` para escuchar los eventos del onboarding.                                                                                  |

   Devuelve:

   | Objeto                         | Descripción                                                    |
   |:-------------------------------|:---------------------------------------------------------------|
   | **AdaptyOnboardingController** | Un objeto que representa la pantalla del onboarding solicitado |

3. Una vez creado el objeto correctamente, puedes mostrarlo en la pantalla del dispositivo:

   ```swift showLineNumbers title="Swift"
   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 \{#present-onboardings-in-swiftui\}

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

```swift showLineNumbers title="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
    }
)
```

## Añadir transiciones suaves entre la pantalla de carga y el onboarding \{#add-smooth-transitions-between-the-splash-screen-and-onboarding\}

Por defecto, entre la pantalla de carga y el onboarding verás una pantalla de carga hasta que el onboarding esté completamente listo. Sin embargo, si quieres que la transición sea más fluida, puedes personalizarla y prolongar la pantalla de carga o mostrar otra cosa en su lugar.

Para hacerlo, define un placeholder (qué se mostrará mientras se carga el onboarding). Si defines un placeholder, el onboarding se cargará en segundo plano y se mostrará automáticamente cuando esté listo.

<Tabs>
<TabItem value="swift" label="UIKit">
```swift showLineNumbers

extension YourOnboardingManagerClass: AdaptyOnboardingControllerDelegate {
   func onboardingsControllerLoadingPlaceholder(
      _ controller: AdaptyOnboardingController
      ) -> UIView? {
         // instantiate and return the UIView which will be presented while onboarding is being loaded
   }
}
```
</TabItem>

<TabItem value="swiftui" label="SwiftUI">
```swift showLineNumbers
AdaptyOnboardingView(
    configuration: configuration,
    placeholder: { 
        // define your placeholder view, which will be presented while onboarding is being loaded
    },
    // the rest of the implementation
)
```
</TabItem>

</Tabs>

## Personalizar cómo se abren los enlaces en los onboardings \{#customize-how-links-open-in-onboardings\}

:::important
La personalización de cómo se abren los enlaces en los onboardings está disponible a partir de la versión 3.15.1 del SDK de Adapty.
:::

Por defecto, los enlaces de los onboardings se abren en un navegador dentro de la app. Esto ofrece una experiencia de usuario fluida al mostrar las 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` en `.externalBrowser`:

```swift showLineNumbers

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