Реакция на действия кнопок в Android SDK
Если вы создаёте пейволы с помощью Paywall Builder, важно правильно настроить кнопки:
- Добавьте кнопку в Paywall Builder и назначьте ей одно из готовых действий или создайте собственный ID действия.
- Напишите в приложении код для обработки каждого назначенного действия.
В этом гайде показано, как обрабатывать пользовательские и готовые действия в коде.
Покупки, восстановление покупок, закрытие пейвола и открытие URL обрабатываются автоматически. Все остальные действия кнопок требуют явной реализации обработки в коде приложения.
Закрытие пейволов
Чтобы добавить кнопку закрытия пейвола:
- В Paywall Builder добавьте кнопку и назначьте ей действие Close.
- В коде приложения реализуйте обработчик действия
close, который закрывает пейвол.
В Android SDK действие close по умолчанию закрывает пейвол. При необходимости это поведение можно переопределить в коде. Например, закрытие одного пейвола может вызывать открытие другого.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
}
}
Открытие URL из пейволов
Если вы хотите добавить группу ссылок (например, условия использования и восстановление покупок), добавьте элемент Link в Paywall Builder и обрабатывайте его так же, как кнопки с действием Open URL.
Чтобы добавить кнопку, открывающую ссылку из пейвола (например, Terms of use или Privacy policy):
- В Paywall Builder добавьте кнопку, назначьте ей действие Open URL и укажите нужный URL.
- В коде приложения реализуйте обработчик действия
openUrl, который открывает полученный URL в браузере.
В Android SDK действие openUrl по умолчанию открывает URL. При необходимости это поведение можно переопределить в коде.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.OpenUrl -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
context.startActivity(intent)
}
}
}
Вход в приложение
Чтобы добавить кнопку входа пользователя в приложение:
- В Paywall Builder добавьте кнопку и назначьте ей действие Login.
- В коде приложения реализуйте обработчик действия
login, который идентифицирует пользователя.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Login -> {
val intent = Intent(context, LoginActivity::class.java)
context.startActivity(intent)
}
}
}
Обработка пользовательских действий
Чтобы добавить кнопку для обработки произвольных действий:
- В Paywall Builder добавьте кнопку, назначьте ей действие Custom и задайте ID.
- В коде приложения реализуйте обработчик для созданного вами ID действия.
Например, если у вас есть дополнительный набор предложений по подписке или разовых покупок, можно добавить кнопку, которая будет открывать другой пейвол:
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.Custom -> {
if (action.customId == "openNewPaywall") {
// Display another paywall
}
}
}
}