Получение онбордингов и их конфигурации
После того как вы разработали визуальную часть онбординга с помощью конструктора в дашборде Adapty, его можно отобразить в мобильном приложении. Первый шаг — получить онбординг, связанный с плейсментом, и его конфигурацию представления, как описано ниже.
Перед началом убедитесь, что:
- Вы установили Adapty iOS, Android, React Native или Flutter SDK версии 3.8.0 или выше.
- Вы создали онбординг.
- Вы добавили онбординг в плейсмент.
Получение онбординга
Когда вы создаёте онбординг с помощью нашего no-code конструктора, он сохраняется как контейнер с конфигурацией, которую приложение должно получить и отобразить. Этот контейнер управляет всем процессом: какой контент показывается, как он представляется и как обрабатываются взаимодействия пользователя (например, ответы на вопросы опроса или заполнение форм). Контейнер также автоматически отслеживает аналитические события, поэтому отдельно реализовывать трекинг просмотров не нужно.
Для лучшей производительности загружайте конфигурацию онбординга заблаговременно, чтобы изображения успели загрузиться до показа пользователям.
Чтобы получить онбординг, используйте метод getOnboarding:
do {
let onboarding = try await Adapty.getOnboarding(placementId: "YOUR_PLACEMENT_ID")
// the requested onboarding
} catch {
// 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, так как последний имеет важные ограничения:
- Проблемы совместимости: могут возникнуть сложности при поддержке нескольких версий приложения — придётся либо делать дизайн с обратной совместимостью, либо мириться с тем, что старые версии могут отображать контент некорректно.
- Отсутствие персонализации: показывается только контент для аудитории «All Users», без таргетинга по стране, атрибуции или пользовательским атрибутам.
Если для вашего случая скорость загрузки важнее этих недостатков, используйте getOnboardingForDefaultAudience, как показано ниже. В противном случае используйте getOnboarding, как описано выше.
Adapty.getOnboardingForDefaultAudience(placementId: "YOUR_PLACEMENT_ID") { result in
switch result {
case let .success(onboarding):
// the requested onboarding
case let .failure(error):
// handle the error
}
}
Параметры:
| Параметр | Обязательность | Описание |
|---|---|---|
| placementId | обязательный | Идентификатор нужного плейсмента. Это значение, которое вы указали при создании плейсмента в дашборде Adapty. |
| locale | необязательный по умолчанию: | Идентификатор локализации онбординга. Ожидается языковой код, состоящий из одного или двух субтегов, разделённых символом минус (-). Первый субтег — язык, второй — регион. Пример: Подробнее о кодах локализации и рекомендациях по их использованию — в разделе Локализации и коды локалей. |
| fetchPolicy | по умолчанию: .reloadRevalidatingCacheData | По умолчанию SDK пытается загрузить данные с сервера и возвращает кэшированные данные в случае ошибки. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные. Если у ваших пользователей нестабильное интернет-соединение, рассмотрите использование Кэш сохраняется при перезапуске приложения и очищается только при его переустановке или вручную. Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кэш и резервные онбординги. Для ускорения загрузки используется CDN, а также отдельный резервный сервер на случай недоступности CDN. Такая система гарантирует получение актуальной версии онбордингов и надёжность даже при плохом интернет-соединении. |