Получение онбордингов в React Native SDK

После того как вы создали визуальную часть онбординга с помощью конструктора в дашборде Adapty, его можно отобразить в приложении на React Native. Первый шаг — получить онбординг, связанный с плейсментом, и его конфигурацию отображения, как описано ниже.

Перед началом убедитесь, что:

  1. Вы установили Adapty React Native SDK версии 3.8.0 или выше.
  2. Вы создали онбординг.
  3. Вы добавили онбординг в плейсмент.

Получение онбординга

Когда вы создаёте онбординг с помощью нашего конструктора без кода, он сохраняется в виде контейнера с конфигурацией, которую приложение должно получить и отобразить. Этот контейнер управляет всем процессом: каким контент отображается, как он представлен и как обрабатываются действия пользователя (например, ответы на вопросы викторины или ввод данных в форму). Контейнер также автоматически отслеживает аналитические события, так что реализовывать отдельное отслеживание просмотров не нужно.

Для оптимальной производительности получайте конфигурацию онбординга заблаговременно, чтобы изображения успели загрузиться до его показа пользователям.

Чтобы получить онбординг, используйте метод 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

необязательный

по умолчанию: en

Идентификатор локализации онбординга. Ожидается в виде языкового кода, состоящего из одного или двух субтегов, разделённых символом минуса (-). Первый субтег обозначает язык, второй — регион.

Например: en — английский, pt-br — бразильский португальский.

Подробнее о кодах локалей и рекомендациях по их использованию — в разделе Локализации и коды локалей.

fetchPolicyпо умолчанию: .reloadRevalidatingCacheData

По умолчанию SDK пытается загрузить данные с сервера и возвращает кешированные данные в случае ошибки. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные.

Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите использование .returnCacheDataElseLoad — оно вернёт кешированные данные, если они есть. В таком случае данные могут быть не самыми свежими, но загрузка будет быстрее вне зависимости от качества соединения. Кеш регулярно обновляется, поэтому его безопасно использовать в рамках сессии во избежание лишних сетевых запросов.

Обратите внимание: кеш сохраняется при перезапуске приложения и очищается только при его переустановке или принудительной очистке.

Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кеш, описанный выше, и резервные онбординги. Для ускоренной загрузки также используется CDN, а в качестве запасного варианта при недоступности CDN — отдельный резервный сервер. Эта система обеспечивает получение актуальной версии онбординга при надёжной работе даже при слабом интернете.

loadTimeoutMsпо умолчанию: 5 сек

Ограничивает тайм-аут выполнения метода. По истечении тайм-аута возвращаются кешированные данные или локальный резервный вариант.

Обратите внимание: в редких случаях метод может завершиться чуть позже указанного значения loadTimeout, так как внутри может выполняться несколько запросов.

Параметры ответа:

ПараметрОписание
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

необязательный

по умолчанию: en

Идентификатор локализации онбординга. Ожидается в виде языкового кода, состоящего из одного или двух субтегов, разделённых символом минуса (-). Первый субтег обозначает язык, второй — регион.

Например: en — английский, pt-br — бразильский португальский.

Подробнее о кодах локалей и рекомендациях по их использованию — в разделе Локализации и коды локалей.

fetchPolicyпо умолчанию: .reloadRevalidatingCacheData

По умолчанию SDK пытается загрузить данные с сервера и возвращает кешированные данные в случае ошибки. Мы рекомендуем этот вариант, так как он гарантирует, что пользователи всегда получают актуальные данные.

Однако если у ваших пользователей нестабильное интернет-соединение, рассмотрите использование .returnCacheDataElseLoad — оно вернёт кешированные данные, если они есть. В таком случае данные могут быть не самыми свежими, но загрузка будет быстрее вне зависимости от качества соединения. Кеш регулярно обновляется, поэтому его безопасно использовать в рамках сессии во избежание лишних сетевых запросов.

Обратите внимание: кеш сохраняется при перезапуске приложения и очищается только при его переустановке или принудительной очистке.

Adapty SDK хранит онбординги локально в двух слоях: регулярно обновляемый кеш, описанный выше, и резервные онбординги. Для ускоренной загрузки также используется CDN, а в качестве запасного варианта при недоступности CDN — отдельный резервный сервер. Эта система обеспечивает получение актуальной версии онбординга при надёжной работе даже при слабом интернете.