Получение онбордингов в Kotlin Multiplatform SDK
Онбординги устарели в SDK v4 и будут удалены в одном из следующих релизов. Они больше не получают исправлений и улучшений. Используйте флоу вместо них: в отличие от онбордингов, которые работают внутри WebView, флоу рендерятся нативно на устройстве — это обеспечивает плавную анимацию, единообразный нативный внешний вид, быструю загрузку и отсутствие зависимости от WebView. См. Получение флоу и пейволов и Отображение флоу и пейволов, чтобы начать работу.
После того как вы разработали визуальную часть онбординга с помощью конструктора в дашборде Adapty, его можно отобразить в вашем Kotlin Multiplatform приложении. Первый шаг — получить онбординг, связанный с плейсментом, и его конфигурацию отображения, как описано ниже.
Прежде чем начать, убедитесь, что:
- Вы установили Adapty Kotlin Multiplatform SDK версии 3.15.0 или выше.
- Вы создали онбординг.
- Вы добавили онбординг в плейсмент.
Получение онбординга
Когда вы создаёте онбординг в нашем no-code конструкторе, он сохраняется как контейнер с конфигурацией, которую ваше приложение должно загрузить и отобразить. Этот контейнер управляет всем процессом: какой контент показывается, как он отображается и как обрабатываются действия пользователя (например, ответы на вопросы или ввод данных в форму). Контейнер также автоматически отслеживает аналитические события, поэтому реализовывать отдельное отслеживание просмотров не нужно.
Для наилучшей производительности загружайте конфигурацию онбординга заблаговременно, чтобы изображения успели скачаться до того, как их увидит пользователь.
Чтобы получить онбординг, используйте метод getOnboarding:
Adapty.getOnboarding(
placementId = "YOUR_PLACEMENT_ID",
locale = "en",
fetchPolicy = AdaptyPaywallFetchPolicy.Default,
loadTimeout = 5.seconds
).onSuccess { paywall ->
// the requested paywall
}.onError { error ->
// handle the error
}
Параметры:
| Параметр | Обязательность | Описание |
|---|---|---|
| placementId | обязательный | Идентификатор нужного плейсмента. Это значение вы указывали при создании плейсмента в дашборде Adapty. |
| locale | необязательный по умолчанию: | Идентификатор локализации онбординга. Ожидается языковой код, состоящий из одного или двух подтегов, разделённых символом минус (-). Первый подтег — язык, второй — регион. Например: |
| fetchPolicy | по умолчанию: .reloadRevalidatingCacheData | По умолчанию SDK пытается загрузить данные с сервера, а в случае ошибки возвращает кешированные данные. Мы рекомендуем этот вариант, поскольку он гарантирует, что пользователи всегда получают актуальные данные. Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите вариант Обратите внимание: кеш сохраняется при перезапуске приложения и очищается только при его переустановке или вручную. Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кеш, описанный выше, и резервные онбординги. Также используется CDN для ускоренной загрузки онбордингов и отдельный резервный сервер на случай недоступности CDN. Эта система гарантирует, что вы всегда получаете актуальную версию онбордингов даже при нестабильном интернет-соединении. |
| loadTimeout | по умолчанию: 5 сек | Это значение ограничивает тайм-аут для данного метода. По истечении тайм-аута будут возвращены кешированные данные или локальный резервный вариант. Обратите внимание: в редких случаях метод может завершиться с небольшой задержкой относительно значения, заданного в |
Параметры ответа
| Параметр | Описание |
|---|---|
| Onboarding | Объект AdaptyOnboarding с: идентификатором и конфигурацией онбординга, Remote Config и рядом других свойств. |
Ускорьте загрузку онбординга с помощью онбординга для аудитории по умолчанию
Как правило, онбординги загружаются почти мгновенно, поэтому беспокоиться об ускорении этого процесса не нужно. Однако если у вас много аудиторий и онбордингов, а пользователи находятся при слабом интернет-соединении, загрузка онбординга может занять больше времени, чем хотелось бы. В таких ситуациях имеет смысл отображать онбординг по умолчанию — чтобы обеспечить плавный пользовательский опыт вместо того, чтобы не показывать ничего.
Чтобы решить эту проблему, вы можете использовать метод getOnboardingForDefaultAudience, который загружает онбординг указанного плейсмента для аудитории All Users. Однако важно понимать, что рекомендуемый подход — загружать онбординг с помощью метода getOnboarding, как описано в разделе Загрузка онбординга выше.
Используйте getOnboarding вместо getOnboardingForDefaultAudience, так как у последнего есть существенные ограничения:
- Проблемы совместимости: могут возникать трудности при поддержке нескольких версий приложения — придётся либо делать дизайн обратно совместимым, либо мириться с некорректным отображением в старых версиях.
- Отсутствие персонализации: показывается только контент для аудитории «Все пользователи», без таргетинга по стране, атрибуции или пользовательским атрибутам.
Если для вашего сценария скорость загрузки важнее этих недостатков, используйте getOnboardingForDefaultAudience, как показано ниже. В противном случае используйте getOnboarding, как описано выше.
Adapty.getOnboardingForDefaultAudience(
placementId = "YOUR_PLACEMENT_ID",
locale = "en",
fetchPolicy = AdaptyPaywallFetchPolicy.Default,
).onSuccess { paywall ->
// запрошенный онбординг
}.onError { error ->
// обработайте ошибку
}
Параметры:
| Параметр | Наличие | Описание |
|---|---|---|
| placementId | обязательный | Идентификатор нужного плейсмента. Это значение вы указали при создании плейсмента в дашборде Adapty. |
| locale | опциональный по умолчанию: | Идентификатор локализации онбординга. Ожидается языковой код, состоящий из одного или двух подтегов, разделённых знаком минус (-). Первый подтег обозначает язык, второй — регион. Например: en означает английский, pt-br — бразильский португальский. |
| fetchPolicy | по умолчанию: .reloadRevalidatingCacheData | По умолчанию SDK пытается загрузить данные с сервера и возвращает кешированные данные в случае ошибки. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные. Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите вариант Обратите внимание: кеш сохраняется после перезапуска приложения и очищается только при его переустановке или ручной очистке. Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кеш, описанный выше, и резервные онбординги. Мы также используем CDN для более быстрой загрузки онбордингов и отдельный резервный сервер на случай недоступности CDN. Система спроектирована так, чтобы вы всегда получали актуальную версию онбордингов, даже при нестабильном интернет-соединении. |