Реализация веб-пейволов в Flutter SDK
Прежде чем начать, убедитесь, что вы настроили веб-пейвол в дашборде и установили Adapty SDK версии 3.6.1 или выше.
Если вы работаете с пейволом, разработанным самостоятельно, вам нужно обрабатывать веб-пейволы с помощью метода SDK. Метод .openWebPaywall:
- Генерирует уникальный URL, который позволяет Adapty связать конкретный пейвол, показанный определённому пользователю, с веб-страницей, на которую он перенаправляется.
- Отслеживает возврат пользователей в приложение и затем запрашивает
.getProfileс короткими интервалами, чтобы определить, обновились ли права доступа профиля.
Таким образом, если платёж прошёл успешно и права доступа обновились, подписка активируется в приложении практически мгновенно.
try {
await Adapty().openWebPaywall(product: <YOUR_PRODUCT>);
// The web paywall will be opened
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
// handle other errors
}
Существует две версии метода openWebPaywall:
openWebPaywall(product)— генерирует URL по пейволу и добавляет в URL данные о продукте.openWebPaywall(paywall)— генерирует URL по пейволу без добавления данных о продукте. Используйте этот вариант, если продукты в пейволе Adapty отличаются от тех, что указаны в веб-пейволе.
Обработка ошибок
| Ошибка | Описание | Рекомендуемое действие |
|---|---|---|
| AdaptyError.paywallWithoutPurchaseUrl | У пейвола не настроен URL для веб-покупки | Проверьте, правильно ли настроен пейвол в дашборде Adapty |
| AdaptyError.productWithoutPurchaseUrl | У продукта отсутствует URL для веб-покупки | Проверьте настройку продукта в дашборде Adapty |
| AdaptyError.failedOpeningWebPaywallUrl | Не удалось открыть URL в браузере | Проверьте настройки устройства или предложите альтернативный способ оплаты |
| AdaptyError.failedDecodingWebPaywallUrl | Не удалось корректно закодировать параметры в URL | Убедитесь, что параметры URL валидны и правильно отформатированы |
Открытие веб-пейволов во встроенном браузере
Открытие веб-пейволов во встроенном браузере поддерживается начиная с Adapty SDK v. 3.15.
По умолчанию веб-пейволы открываются во внешнем браузере.
Чтобы обеспечить бесшовный пользовательский опыт, можно открывать веб-пейволы во встроенном браузере. Это позволяет отображать страницу веб-покупки прямо внутри приложения — пользователи смогут завершить транзакцию, не переключаясь между приложениями.
Чтобы включить эту функцию, задайте параметру in значение .inAppBrowser:
try {
await Adapty().openWebPaywall(
product: <YOUR_PRODUCT>,
openIn: AdaptyWebPresentation.inAppBrowser,
);
// The web paywall will be opened in the in-app browser
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
// handle other errors
}