Реализация веб-пейволов

Прежде чем начать, убедитесь, что вы настроили веб-пейвол в дашборде и установили Adapty SDK версии 3.6.1 или выше.

Открытие веб-пейволов

Если вы работаете с пейволом, который разработали самостоятельно, вам нужно обрабатывать веб-пейволы с помощью метода SDK. Метод .openWebPaywall:

  1. Генерирует уникальный URL, позволяющий Adapty связать конкретный пейвол, показанный определённому пользователю, с веб-страницей, на которую он перенаправляется.
  2. Отслеживает возвращение пользователей в приложение и затем запрашивает .getProfile через короткие промежутки времени, чтобы определить, обновились ли права доступа профиля.

Таким образом, если платёж прошёл успешно и права доступа обновились, подписка активируется в приложении почти мгновенно.


try {
  await adapty.openWebPaywall({ paywallOrProduct: product });
} catch (error) {
  console.error('Failed to open web paywall:', error);
}

Существует две версии метода openWebPaywall:

  1. openWebPaywall({ paywallOrProduct: product }) — генерирует URL по пейволу и добавляет данные о продукте в URL.
  2. openWebPaywall({ paywallOrProduct: paywall }) — генерирует URL по пейволу без добавления данных о продукте в URL. Используйте этот вариант, если продукты в пейволе Adapty отличаются от продуктов на веб-пейволе.

Обработка ошибок

ОшибкаОписаниеРекомендуемое действие
AdaptyError.paywallWithoutPurchaseUrlУ пейвола не настроен URL для веб-покупкиПроверьте, правильно ли настроен пейвол в Adapty Dashboard
AdaptyError.productWithoutPurchaseUrlУ продукта отсутствует URL для веб-покупкиПроверьте настройки продукта в Adapty Dashboard
AdaptyError.failedOpeningWebPaywallUrlНе удалось открыть URL в браузереПроверьте настройки устройства или предоставьте альтернативный способ оплаты
AdaptyError.failedDecodingWebPaywallUrlНе удалось корректно закодировать параметры в URLУбедитесь, что параметры URL корректны и правильно отформатированы

Открытие веб-пейволов во встроенном браузере

Открытие веб-пейволов во встроенном браузере поддерживается начиная с Adapty SDK v. 3.15.

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

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

Чтобы включить эту функцию, установите openIn в WebPresentation.BrowserInApp в вызове openWebPaywall:


try {
    await adapty.openWebPaywall({
        paywallOrProduct: product,
        openIn: WebPresentation.BrowserInApp, // default – WebPresentation.BrowserOutApp
    });
} catch (error) {
    console.error('Failed to open web paywall:', error);
}