---
title: "Показ онбординга в iOS SDK"
description: "Узнайте, как показывать онбординги на iOS для повышения конверсий и дохода."
---

Если вы настроили онбординг с помощью билдера, вам не нужно беспокоиться о его рендеринге в коде мобильного приложения. Такой онбординг содержит как то, что должно отображаться, так и то, как именно это должно отображаться.

Прежде чем начать, убедитесь, что:

1. Вы установили [Adapty iOS SDK](sdk-installation-ios) версии 3.8.0 или выше.
2. Вы [создали онбординг](create-onboarding).
3. Вы добавили онбординг в [плейсмент](placements).

## Показ онбординга в Swift \{#present-onboardings-in-swift\}

Чтобы отобразить визуальный онбординг на экране устройства, выполните следующие шаги:

1. Получите конфигурацию представления онбординга с помощью метода `.getOnboardingConfiguration`.
2. Инициализируйте визуальный онбординг, который хотите отобразить, используя метод `.onboardingController`:

   Параметры запроса:

   | Параметр                        | Обязательность | Описание                                                                                                                                                         |
   |:--------------------------------|:---------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
   | **onboarding configuration**    | обязательный   | Объект `AdaptyUI.OnboardingConfiguration`, содержащий все свойства онбординга. Используйте метод `AdaptyUI.getOnboardingConfiguration` для его получения.        |
   | **delegate**                    | обязательный   | `AdaptyOnboardingControllerDelegate` для прослушивания событий онбординга.                                                                                       |

   Возвращает:

   | Объект                         | Описание                                                    |
   |:-------------------------------|:------------------------------------------------------------|
   | **AdaptyOnboardingController** | Объект, представляющий запрошенный экран онбординга         |

3. После того как объект успешно создан, вы можете отобразить его на экране устройства:

   ```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)
   ```

## Показ онбординга в SwiftUI \{#present-onboardings-in-swiftui\}

Чтобы отобразить визуальный онбординг на экране устройства в 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
    }
)
```

## Плавные переходы между сплэш-экраном и онбордингом \{#add-smooth-transitions-between-the-splash-screen-and-onboarding\}

По умолчанию между сплэш-экраном и онбордингом отображается экран загрузки, пока онбординг полностью не загрузится. Однако если вы хотите сделать переход плавнее, вы можете настроить его: либо продлить показ сплэш-экрана, либо отобразить что-то другое.

Для этого определите placeholder — то, что будет отображаться во время загрузки онбординга. Если placeholder задан, онбординг будет загружаться в фоне и автоматически отобразится, как только будет готов.

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

## Настройка открытия ссылок в онбординге \{#customize-how-links-open-in-onboardings\}

:::important
Настройка открытия ссылок в онбординге поддерживается начиная с Adapty SDK v.3.15.1.
:::

По умолчанию ссылки в онбординге открываются во встроенном браузере. Это обеспечивает бесшовный пользовательский опыт: веб-страницы отображаются прямо внутри приложения, и пользователю не нужно переключаться между приложениями.

Если вы предпочитаете открывать ссылки во внешнем браузере, вы можете изменить это поведение, установив параметр `externalUrlsPresentation` в значение `.externalBrowser`:

```swift showLineNumbers

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