Реализация веб-пейволов в Kotlin Multiplatform SDK
Перед началом убедитесь, что вы настроили веб-пейвол в дашборде и установили Adapty SDK версии 3.15 или выше.
Открытие веб-пейволов
Если вы работаете с пейволом, разработанным самостоятельно, вам нужно обрабатывать веб-пейволы через метод SDK. Метод openWebPaywall:
- Генерирует уникальный URL, позволяющий Adapty связать конкретный показанный пользователю пейвол с веб-страницей, на которую тот перенаправляется.
- Отслеживает возврат пользователей в приложение и затем запрашивает
getProfileчерез короткие интервалы, чтобы определить, обновились ли права доступа профиля.
Таким образом, если платёж прошёл успешно и права доступа обновились, подписка активируется в приложении почти мгновенно.
После того как пользователи вернутся в приложение, обновите интерфейс, чтобы отразить изменения профиля. Adapty получит и обработает события обновления профиля.
viewModelScope.launch {
Adapty.openWebPaywall(product = product).onSuccess {
// веб-пейвол успешно открыт
}.onError { error ->
// обработка ошибки
}
}
Существует две версии метода openWebPaywall:
openWebPaywall(product = product)— генерирует URL по пейволу и добавляет в URL данные о продукте.openWebPaywall(paywall = paywall)— генерирует URL по пейволу без добавления данных о продукте. Используйте его, когда продукты в пейволе Adapty отличаются от продуктов в веб-пейволе.
Открытие веб-пейволов во встроенном браузере
По умолчанию веб-пейволы открываются во внешнем браузере.
Для более бесшовного пользовательского опыта вы можете открывать веб-пейволы во встроенном браузере. Это отображает страницу веб-покупки прямо внутри вашего приложения, позволяя пользователям завершать транзакции без переключения между приложениями.
Чтобы включить это, установите параметр openIn в значение AdaptyWebPresentation.IN_APP_BROWSER:
viewModelScope.launch {
Adapty.openWebPaywall(
product = product,
openIn = AdaptyWebPresentation.IN_APP_BROWSER // по умолчанию – EXTERNAL_BROWSER
).onSuccess {
// веб-пейвол успешно открыт
}.onError { error ->
// обработка ошибки
}
}