Получение онбордингов в Unity SDK

Онбординги устарели в SDK v4 и будут удалены в одном из следующих релизов. Они больше не получают исправлений и улучшений. Используйте флоу вместо них: в отличие от онбордингов, которые работают внутри WebView, флоу рендерятся нативно на устройстве — обеспечивая более плавные анимации, единый нативный внешний вид, быструю загрузку и отсутствие зависимости от WebView. Смотрите Получение флоу и пейволов и Отображение флоу и пейволов, чтобы начать.

После того как вы создали визуальную часть онбординга в Paywall Builder в дашборде Adapty, его можно отобразить в вашем Unity-приложении. Первый шаг — получить онбординг, связанный с плейсментом, и конфигурацию его отображения, как описано ниже.

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

  1. Вы установили Adapty Unity SDK версии 3.14.0 или выше.
  2. Вы создали онбординг.
  3. Вы добавили онбординг в плейсмент.

Получение онбординга и создание представления

Когда вы создаёте онбординг с помощью нашего no-code билдера, он сохраняется как контейнер с конфигурацией, которую приложение должно получить и отобразить. Этот контейнер управляет всем процессом: какой контент отображается, как он представлен и как обрабатываются действия пользователя (например, ответы на тесты или ввод данных в формы). Контейнер также автоматически отслеживает аналитические события, поэтому отдельно реализовывать отслеживание просмотров не нужно.

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

Чтобы получить онбординг, используйте метод GetOnboarding:

Adapty.GetOnboarding("YOUR_PLACEMENT_ID", (onboarding, error) => {
    if (error != null) {
        // handle the error
        return;
    }
    
    // the requested onboarding
});

Параметры:

ПараметрОбязательностьОписание
placementIdобязательныйИдентификатор нужного плейсмента. Это значение вы указывали при создании плейсмента в дашборде Adapty.
locale

опциональный

по умолчанию: en

Идентификатор локализации онбординга. Ожидается языковой код, состоящий из одного или двух подтегов, разделённых символом минус (-). Первый подтег — язык, второй — регион.

Пример: en — английский, pt-br — бразильский португальский.

Подробнее о кодах локалей и рекомендациях по их использованию см. в разделе Локализации и коды локалей.

fetchPolicyпо умолчанию: .reloadRevalidatingCacheData

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

Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите .returnCacheDataElseLoad — он возвращает кэш, если он есть. В этом случае данные могут быть не самыми свежими, зато загрузка будет быстрее при любом качестве соединения. Кэш регулярно обновляется, поэтому использовать его в течение сессии для сокращения сетевых запросов безопасно.

Обратите внимание: кэш сохраняется при перезапуске приложения и очищается только при переустановке или ручной очистке.

Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кэш (описан выше) и резервные онбординги. Также используется CDN для ускорения загрузки и отдельный резервный сервер на случай недоступности CDN. Эта система обеспечивает актуальность онбордингов и надёжность даже при нестабильном интернет-соединении.

loadTimeoutпо умолчанию: 5 сек

Ограничивает таймаут выполнения метода. По истечении таймаута возвращаются кэшированные данные или локальный резервный вариант.

Обратите внимание: в редких случаях метод может превысить таймаут, указанный в loadTimeout, поскольку операция может включать несколько запросов под капотом.

Параметры ответа:

ПараметрОписание
OnboardingОбъект AdaptyOnboarding, содержащий: идентификатор и конфигурацию онбординга, Remote Config и ряд других свойств.

После получения онбординга вызовите метод CreateOnboardingView.

Результат метода CreateOnboardingView можно использовать только один раз. Если нужно использовать его повторно, вызовите CreateOnboardingView заново. Повторный вызов без пересоздания может привести к ошибке AdaptyUIError.viewAlreadyPresented.

AdaptyUI.CreateOnboardingView(onboarding, (view, error) => {
    // handle the result
});

Параметры:

ПараметрОбязательностьОписание
onboardingобязательныйОбъект AdaptyOnboarding для получения представления нужного онбординга.
externalUrlsPresentation

опциональный

по умолчанию: InAppBrowser

Управляет тем, как открываются ссылки в онбординге. Доступные варианты:

- AdaptyWebPresentation.InAppBrowser — открывает ссылки во встроенном браузере (по умолчанию)

- AdaptyWebPresentation.ExternalBrowser — открывает ссылки во внешнем браузере устройства

Примеры использования см. в разделе Настройка открытия ссылок в онбордингах.

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

Ускорение загрузки онбординга с помощью онбординга для аудитории по умолчанию

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

Чтобы решить эту задачу, используйте метод GetOnboardingForDefaultAudience, который получает онбординг указанного плейсмента для аудитории All Users. Однако важно понимать, что рекомендуемый подход — получать онбординг через метод getOnboarding, как описано в разделе Получение онбординга выше.

Рекомендуем использовать GetOnboarding вместо GetOnboardingForDefaultAudience, поскольку последний имеет важные ограничения:

  • Проблемы совместимости: могут возникать сложности при поддержке нескольких версий приложения — потребуется либо обратная совместимость дизайна, либо смириться с тем, что старые версии будут отображаться некорректно.
  • Отсутствие персонализации: показывает контент только для аудитории «All Users», без таргетинга по стране, атрибуции или кастомным атрибутам.

Если для вашего случая скорость загрузки важнее этих недостатков, используйте GetOnboardingForDefaultAudience, как показано ниже. В противном случае используйте GetOnboarding, как описано выше.

Adapty.GetOnboardingForDefaultAudience("YOUR_PLACEMENT_ID", (onboarding, error) => {
    if (error != null) {
        // handle the error
        return;
    }
    
    // the requested onboarding
});

Параметры:

ПараметрОбязательностьОписание
placementIdобязательныйИдентификатор нужного плейсмента. Это значение вы указывали при создании плейсмента в дашборде Adapty.
locale

опциональный

по умолчанию: en

Идентификатор локализации онбординга. Ожидается языковой код, состоящий из одного или двух подтегов, разделённых символом минус (-). Первый подтег — язык, второй — регион.

Пример: en — английский, pt-br — бразильский португальский.

fetchPolicyпо умолчанию: .reloadRevalidatingCacheData

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

Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите .returnCacheDataElseLoad — он возвращает кэш, если он есть. В этом случае данные могут быть не самыми свежими, зато загрузка будет быстрее при любом качестве соединения. Кэш регулярно обновляется, поэтому использовать его в течение сессии для сокращения сетевых запросов безопасно.

Обратите внимание: кэш сохраняется при перезапуске приложения и очищается только при переустановке или ручной очистке.

Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кэш (описан выше) и резервные онбординги. Также используется CDN для ускорения загрузки и отдельный резервный сервер на случай недоступности CDN. Эта система обеспечивает актуальность онбордингов и надёжность даже при нестабильном интернет-соединении.