Получение онбордингов в Capacitor SDK
Онбординги устарели в SDK v4 и будут удалены в одном из будущих релизов. Они больше не получают исправлений и улучшений. Используйте флоу вместо них: в отличие от онбордингов, которые работают внутри WebView, флоу рендерятся нативно на устройстве — это обеспечивает более плавную анимацию, единообразный нативный внешний вид, быструю загрузку и отсутствие зависимости от WebView. Смотрите Получение флоу и пейволов и Отображение флоу и пейволов для начала работы.
После того как вы оформили визуальную часть онбординга в Adapty Dashboard с помощью билдера, его можно отобразить в вашем Capacitor-приложении. Первый шаг — получить онбординг, связанный с плейсментом, и конфигурацию его представления, как описано ниже.
Прежде чем начать, убедитесь, что:
- Вы создали онбординг.
- Вы добавили онбординг в плейсмент.
Получение онбординга
Когда вы создаёте онбординг в нашем no-code конструкторе, он сохраняется в виде контейнера с конфигурацией, которую приложение должно получить и отобразить. Этот контейнер управляет всем процессом: каким будет контент, как он подаётся и как обрабатываются действия пользователя (например, ответы на вопросы квиза или ввод данных в форму). Контейнер также автоматически отслеживает аналитические события, поэтому отдельно реализовывать трекинг просмотров не нужно.
Для лучшей производительности получайте конфигурацию онбординга заранее — чтобы изображения успели загрузиться до того, как пользователь увидит экран.
Чтобы получить онбординг, используйте метод getOnboarding:
try {
const onboarding = await adapty.getOnboarding({
placementId: 'YOUR_PLACEMENT_ID',
locale: 'en',
params: {
fetchPolicy: 'reload_revalidating_cache_data', // Load from server, fallback to cache
loadTimeoutMs: 5000 // 5 second timeout
}
});
console.log('Onboarding fetched successfully');
} catch (error) {
console.error('Failed to fetch onboarding:', error);
}
Затем вызовите метод createOnboardingView, чтобы создать экземпляр представления.
Результат метода createOnboardingView можно использовать только один раз. Если вам нужно использовать его повторно, вызовите метод createOnboardingView заново.
if (onboarding.hasViewConfiguration) {
try {
const view = await createOnboardingView(onboarding);
console.log('Onboarding view created successfully');
} catch (error) {
console.error('Failed to create onboarding view:', error);
}
} else {
// Use your custom logic
console.log('Onboarding does not have view configuration');
}
Параметры:
| Параметр | Обязательность | Описание |
|---|---|---|
| placementId | обязательный | Идентификатор нужного плейсмента. Это значение вы указываете при создании плейсмента в дашборде Adapty. |
| locale | необязательный по умолчанию: | Идентификатор локализации онбординга. Ожидается языковой код, состоящий из одного или двух подтегов, разделённых символом минуса (-). Первый подтег — язык, второй — регион. Например: Подробнее о кодах локалей и рекомендациях по их использованию см. в разделе Локализации и коды локалей. |
| params.fetchPolicy | необязательный по умолчанию: | По умолчанию SDK пытается загрузить данные с сервера и возвращает кэшированные данные в случае ошибки. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные. Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите вариант Обратите внимание: кэш сохраняется при перезапуске приложения и очищается только при его переустановке или вручную. |
| params.loadTimeoutMs | необязательный по умолчанию: 5000 мс | Ограничивает таймаут (в миллисекундах) для этого метода. По истечении таймаута будут возвращены кэшированные данные или локальный резервный пейвол. Обратите внимание: в редких случаях метод может завершиться чуть позже указанного в |
| Параметры ответа: | ||
| Параметр | Описание | |
| :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| onboarding | Объект AdaptyOnboarding со следующими свойствами: идентификатор и конфигурация онбординга, Remote Config и ряд других параметров. |
Ускорьте загрузку онбординга с помощью онбординга для аудитории по умолчанию
Как правило, онбординги загружаются почти мгновенно, так что беспокоиться об этом не стоит. Однако если у вас много аудиторий и онбордингов, а у пользователей слабое интернет-соединение, загрузка онбординга может занять больше времени, чем хотелось бы. В таких случаях имеет смысл показывать онбординг по умолчанию — это обеспечит плавный пользовательский опыт вместо полного отсутствия экрана.
Чтобы решить эту проблему, используйте метод getOnboardingForDefaultAudience, который получает онбординг указанного плейсмента для аудитории All Users. Однако важно понимать, что рекомендуемый подход — получать онбординг с помощью метода getOnboarding, как описано в разделе Получить онбординг выше.
Рекомендуем использовать getOnboarding вместо getOnboardingForDefaultAudience, поскольку у последнего есть важные ограничения:
- Проблемы совместимости: Могут возникнуть трудности при поддержке нескольких версий приложения — придётся либо делать обратно совместимые дизайны, либо мириться с тем, что в старых версиях отображение будет некорректным.
- Отсутствие персонализации: Показывает контент только для аудитории «All Users», без таргетинга по стране, атрибуции или пользовательским атрибутам.
Если для вашего случая скорость загрузки важнее этих недостатков, используйте getOnboardingForDefaultAudience, как показано ниже. В противном случае используйте getOnboarding, как описано выше.
try {
const onboarding = await adapty.getOnboardingForDefaultAudience({
placementId: 'YOUR_PLACEMENT_ID',
locale: 'en',
params: {
fetchPolicy: 'reload_revalidating_cache_data' // Загрузка с сервера, фолбэк на кэш
}
});
console.log('Default audience onboarding fetched successfully');
} catch (error) {
console.error('Failed to fetch default audience onboarding:', error);
}
Параметры:
| Параметр | Наличие | Описание |
|---|---|---|
| placementId | обязательный | Идентификатор нужного плейсмента. Это значение вы указываете при создании плейсмента в дашборде Adapty. |
| locale | необязательный по умолчанию: | Идентификатор локализации онбординга. Ожидается языковой код из одного или двух подтегов, разделённых дефисом (-). Первый подтег — язык, второй — регион. Пример: Подробнее о кодах локалей и рекомендациях по их использованию см. в разделе Локализации и коды локалей. |
| params.fetchPolicy | необязательный по умолчанию: | По умолчанию SDK пытается загрузить данные с сервера и возвращает кэшированные данные в случае неудачи. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные. Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите вариант Обратите внимание: кэш сохраняется при перезапуске приложения и очищается только при его переустановке или вручную. |