Получение онбордингов в Capacitor SDK
После того как вы создали визуальную часть онбординга с помощью билдера в дашборде Adapty, вы можете отобразить его в своём приложении на 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, поскольку последний имеет важные ограничения:
- Проблемы совместимости: могут возникнуть сложности при поддержке нескольких версий приложения — потребуется либо создавать дизайн с обратной совместимостью, либо мириться с тем, что в старых версиях контент может отображаться некорректно.
- Отсутствие персонализации: отображается только контент для аудитории «Все пользователи», без учёта страны, атрибуции или пользовательских атрибутов.
Если для вашего случая скорость загрузки важнее этих недостатков, используйте getOnboardingForDefaultAudience, как показано ниже. В противном случае используйте getOnboarding, как описано выше.
try {
const onboarding = await adapty.getOnboardingForDefaultAudience({
placementId: 'YOUR_PLACEMENT_ID',
locale: 'en',
params: {
fetchPolicy: 'reload_revalidating_cache_data' // Load from server, fallback to cache
}
});
console.log('Default audience onboarding fetched successfully');
} catch (error) {
console.error('Failed to fetch default audience onboarding:', error);
}
Параметры:
| Параметр | Обязательность | Описание |
|---|---|---|
| placementId | обязательный | Идентификатор нужного плейсмента. Это значение, которое вы указали при создании плейсмента в дашборде Adapty. |
| locale | опциональный по умолчанию: | Идентификатор локализации онбординга. Ожидается языковой код, состоящий из одного или двух подтегов, разделённых символом минуса (-). Первый подтег — язык, второй — регион. Пример: Подробнее о кодах локалей и рекомендациях по их использованию см. в разделе Локализации и коды локалей. |
| params.fetchPolicy | опциональный по умолчанию: | По умолчанию SDK пытается загрузить данные с сервера и возвращает кэшированные данные при неудаче. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные. Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите использование Обратите внимание, что кэш сохраняется при перезапуске приложения и очищается только при его переустановке или ручной очистке. |