Получение онбордингов в React Native SDK
После того как вы создали визуальную часть онбординга с помощью конструктора в дашборде Adapty, его можно отобразить в приложении на React Native. Первый шаг — получить онбординг, связанный с плейсментом, и его конфигурацию отображения, как описано ниже.
Перед началом убедитесь, что:
- Вы установили Adapty React Native SDK версии 3.8.0 или выше.
- Вы создали онбординг.
- Вы добавили онбординг в плейсмент.
Получение онбординга
Когда вы создаёте онбординг с помощью нашего конструктора без кода, он сохраняется в виде контейнера с конфигурацией, которую приложение должно получить и отобразить. Этот контейнер управляет всем процессом: каким контент отображается, как он представлен и как обрабатываются действия пользователя (например, ответы на вопросы викторины или ввод данных в форму). Контейнер также автоматически отслеживает аналитические события, так что реализовывать отдельное отслеживание просмотров не нужно.
Для оптимальной производительности получайте конфигурацию онбординга заблаговременно, чтобы изображения успели загрузиться до его показа пользователям.
Чтобы получить онбординг, используйте метод getOnboarding:
try {
const placementId = 'YOUR_PLACEMENT_ID';
const locale = 'en';
const onboarding = await adapty.getOnboarding(placementId, locale);
// the requested onboarding
} catch (error) {
// handle the error
}
Затем вызовите метод createOnboardingView, чтобы создать экземпляр представления.
Результат метода createOnboardingView можно использовать только один раз. Если нужно использовать его повторно, вызовите createOnboardingView заново. Повторный вызов без пересоздания может привести к ошибке AdaptyUIError.viewAlreadyPresented.
// for the Adapty SDK < 3.14 – import {createOnboardingView} from 'react-native-adapty/dist/ui';
if (onboarding.hasViewConfiguration) {
try {
const view = await createOnboardingView(onboarding);
} catch (error) {
// handle the error
}
} else {
//use your custom logic
}
Параметры:
| Параметр | Наличие | Описание |
|---|---|---|
| placementId | обязательный | Идентификатор нужного плейсмента. Это значение, которое вы указали при создании плейсмента в дашборде Adapty. |
| locale | необязательный по умолчанию: | Идентификатор локализации онбординга. Ожидается в виде языкового кода, состоящего из одного или двух субтегов, разделённых символом минуса (-). Первый субтег обозначает язык, второй — регион. Например: Подробнее о кодах локалей и рекомендациях по их использованию — в разделе Локализации и коды локалей. |
| fetchPolicy | по умолчанию: .reloadRevalidatingCacheData | По умолчанию SDK пытается загрузить данные с сервера и возвращает кешированные данные в случае ошибки. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные. Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите использование Обратите внимание: кеш сохраняется при перезапуске приложения и очищается только при его переустановке или принудительной очистке. Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кеш, описанный выше, и резервные онбординги. Для ускоренной загрузки также используется CDN, а в качестве запасного варианта при недоступности CDN — отдельный резервный сервер. Эта система обеспечивает получение актуальной версии онбординга при надёжной работе даже при слабом интернете. |
| loadTimeoutMs | по умолчанию: 5 сек | Ограничивает тайм-аут выполнения метода. По истечении тайм-аута возвращаются кешированные данные или локальный резервный вариант. Обратите внимание: в редких случаях метод может завершиться чуть позже указанного значения |
Параметры ответа:
| Параметр | Описание |
|---|---|
| Onboarding | Объект AdaptyOnboarding с: идентификатором и конфигурацией онбординга, Remote Config и другими свойствами. |
Ускорение загрузки онбординга с помощью онбординга для аудитории по умолчанию
Как правило, онбординги загружаются почти мгновенно, так что беспокоиться об ускорении этого процесса не нужно. Однако при большом количестве аудиторий и онбордингов, а также при слабом интернет-соединении загрузка может занять больше времени, чем хотелось бы. В таких случаях можно показать онбординг по умолчанию, чтобы не оставлять пользователя с пустым экраном.
Для этого используйте метод getOnboardingForDefaultAudience, который получает онбординг указанного плейсмента для аудитории All Users. Однако важно понимать, что рекомендуемый подход — использовать метод getOnboarding, как описано в разделе Получение онбординга выше.
По возможности используйте getOnboarding вместо getOnboardingForDefaultAudience, так как последний имеет существенные ограничения:
- Проблемы совместимости: может возникать при поддержке нескольких версий приложения — придётся либо делать обратно совместимые дизайны, либо мириться с тем, что в старых версиях они могут отображаться некорректно.
- Отсутствие персонализации: показывает контент только для аудитории «Все пользователи», без таргетинга по стране, атрибуции или пользовательским атрибутам.
Если скорость загрузки важнее этих ограничений, используйте getOnboardingForDefaultAudience, как показано ниже. В противном случае используйте getOnboarding, как описано выше.
try {
const placementId = 'YOUR_PLACEMENT_ID';
const locale = 'en';
const onboarding = await adapty.getOnboardingForDefaultAudience(placementId, locale);
// the requested onboarding
} catch (error) {
// handle the error
}
Параметры:
| Параметр | Наличие | Описание |
|---|---|---|
| placementId | обязательный | Идентификатор нужного плейсмента. Это значение, которое вы указали при создании плейсмента в дашборде Adapty. |
| locale | необязательный по умолчанию: | Идентификатор локализации онбординга. Ожидается в виде языкового кода, состоящего из одного или двух субтегов, разделённых символом минуса (-). Первый субтег обозначает язык, второй — регион. Например: Подробнее о кодах локалей и рекомендациях по их использованию — в разделе Локализации и коды локалей. |
| fetchPolicy | по умолчанию: .reloadRevalidatingCacheData | По умолчанию SDK пытается загрузить данные с сервера и возвращает кешированные данные в случае ошибки. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные. Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите использование Обратите внимание: кеш сохраняется при перезапуске приложения и очищается только при его переустановке или принудительной очистке. Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кеш, описанный выше, и резервные онбординги. Для ускоренной загрузки также используется CDN, а в качестве запасного варианта при недоступности CDN — отдельный резервный сервер. Эта система обеспечивает получение актуальной версии онбординга при надёжной работе даже при слабом интернете. |