Реализация веб-пейволов
Прежде чем начать, убедитесь, что вы настроили веб-пейвол в дашборде и установили Adapty SDK версии 3.6.1 или выше.
Открытие веб-пейволов
Если вы работаете с пейволом, который разработали самостоятельно, вам нужно обрабатывать веб-пейволы с помощью метода SDK. Метод .openWebPaywall:
- Генерирует уникальный URL, позволяющий Adapty связать конкретный пейвол, показанный определённому пользователю, с веб-страницей, на которую он перенаправляется.
- Отслеживает возвращение пользователей в приложение и затем запрашивает
.getProfileчерез короткие промежутки времени, чтобы определить, обновились ли права доступа профиля.
Таким образом, если платёж прошёл успешно и права доступа обновились, подписка активируется в приложении почти мгновенно.
try {
await adapty.openWebPaywall({ paywallOrProduct: product });
} catch (error) {
console.error('Failed to open web paywall:', error);
}
Существует две версии метода openWebPaywall:
openWebPaywall({ paywallOrProduct: product })— генерирует URL по пейволу и добавляет данные о продукте в URL.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);
}