---
title: "Отображение онбордингов в Android SDK"
description: "Узнайте, как отображать онбординги на Android для эффективного вовлечения пользователей."
---

:::tip
**Начиная с SDK v4**, вы можете использовать [флоу](android-get-pb-paywalls) как более мощную альтернативу онбордингам. В отличие от онбордингов, которые работают внутри WebView, флоу рендерятся нативно на устройстве — это обеспечивает плавную анимацию, привычный внешний вид Android, быструю загрузку и отсутствие зависимости от WebView. Подробнее: [Получение флоу и пейволов](android-get-pb-paywalls) и [Отображение флоу и пейволов](android-present-paywalls).
:::

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

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

Если вы настроили онбординг с помощью Onboarding Builder, вам не нужно беспокоиться о его рендеринге в коде мобильного приложения для отображения пользователю. Такой онбординг содержит как то, что должно быть показано, так и то, как это должно быть показано.
Чтобы отобразить визуальный онбординг на экране устройства, его необходимо сначала настроить. Для этого вызовите метод `AdaptyUI.getOnboardingView()` или создайте `OnboardingView` напрямую:

<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin (option 1)" default>

```kotlin
val onboardingView = AdaptyUI.getOnboardingView(
    activity = this,
    viewConfig = onboardingConfig,
    eventListener = eventListener
)
```
  </TabItem>
  <TabItem value="kotlin2" label="Kotlin (option 2)">
```kotlin
val onboardingView = AdaptyOnboardingView(activity)
onboardingView.show(
    viewConfig = onboardingConfig,
    delegate = eventListener
)
```
  </TabItem>
  <TabItem value="java" label="Java (вариант 1)">

```java
AdaptyOnboardingView onboardingView = AdaptyUI.getOnboardingView(
    activity,
    onboardingConfig,
    eventListener
);
```
  </TabItem>
  <TabItem value="java2" label="Java (вариант 2)">
```java
AdaptyOnboardingView onboardingView = new AdaptyOnboardingView(activity);
onboardingView.show(onboardingConfig, eventListener);
```
  </TabItem>
  <TabItem value="xml" label="XML">

```xml
<com.adapty.ui.onboardings.AdaptyOnboardingView
        android:id="@+id/onboardingView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
```
  </TabItem>
</Tabs>

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

Параметры запроса:
| Параметр | Наличие | Описание                                                                                                                                                                                    |
| :-------- | :------- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **viewConfig** | обязательный | Конфигурация онбординга, полученная из `AdaptyUI.getOnboardingConfiguration()`                                                                                                              |
| **eventListener** | обязательный | Реализация `AdaptyOnboardingEventListener` для обработки событий онбординга. Подробнее см. в разделе [Обработка событий онбординга](android-handle-onboarding-events). |
## Изменение цвета индикатора загрузки \{#change-loading-indicator-color\}

Вы можете переопределить цвет индикатора загрузки по умолчанию следующим образом:

```xml

<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
    
    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>
```

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

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

Для этого создайте файл `adapty_onboarding_placeholder_view.xml` в папке `res/layout` и определите там плейсхолдер (то, что будет отображаться во время загрузки онбординга).
Если вы определите плейсмент, онбординг загрузится в фоне и автоматически отобразится, когда будет готов.
## Отключение отступов безопасной зоны \{#disable-safe-area-paddings\}

По умолчанию представление онбординга автоматически применяет отступы безопасной зоны, чтобы избежать перекрытия системными элементами интерфейса — строкой состояния и панелью навигации. Если вы хотите отключить это поведение и полностью управлять разметкой самостоятельно, установите параметр `safeAreaPaddings` в значение `false`.

<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin (вариант 1)" default>
```kotlin
val onboardingView = AdaptyUI.getOnboardingView(
    activity = this,
    viewConfig = onboardingConfig,
    eventListener = eventListener,
    safeAreaPaddings = false
)
```
  </TabItem>
  <TabItem value="kotlin2" label="Kotlin (вариант 2)">

```kotlin
val onboardingView = AdaptyOnboardingView(activity)
onboardingView.show(
    viewConfig = onboardingConfig,
    delegate = eventListener,
    safeAreaPaddings = false
)
```
  </TabItem>
  <TabItem value="java" label="Java (вариант 1)">
```java
AdaptyOnboardingView onboardingView = AdaptyUI.getOnboardingView(
    activity,
    onboardingConfig,
    eventListener,
    false
);
```
  </TabItem>
  <TabItem value="java2" label="Java (вариант 2)">

```java
AdaptyOnboardingView onboardingView = new AdaptyOnboardingView(activity);
onboardingView.show(onboardingConfig, eventListener, false);
```
  </TabItem>
</Tabs>

Кроме того, вы можете управлять этим поведением глобально, добавив булев ресурс в приложение:

```xml

<resources>
    <bool name="adapty_onboarding_enable_safe_area_paddings">false</bool>
</resources>
```
Если `safeAreaPaddings` установлен в `false`, онбординг растянется на весь экран без автоматических отступов — вы получаете полный контроль над компоновкой, и контент онбординга может использовать всё пространство экрана.
## Настройка способа открытия ссылок в онбордингах \{#customize-how-links-open-in-onboardings\}

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

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

Если вы предпочитаете открывать ссылки во внешнем браузере, настройте это поведение, задав параметру `externalUrlsPresentation` значение `AdaptyWebPresentation.ExternalBrowser`:
<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin" default>

```kotlin
val onboardingConfig = AdaptyUI.getOnboardingConfiguration(
    onboarding = onboarding,
    externalUrlsPresentation = AdaptyWebPresentation.ExternalBrowser // default – InAppBrowser
)
```
  </TabItem>
  <TabItem value="java" label="Java">

```java
AdaptyOnboardingConfiguration onboardingConfig = AdaptyUI.getOnboardingConfiguration(
    onboarding,
    AdaptyWebPresentation.ExternalBrowser // default – InAppBrowser
);
```
  </TabItem>
</Tabs>