Реакция на действия кнопок в Capacitor SDK
Если вы создаёте пейволы с помощью Paywall Builder от Adapty, важно правильно настроить кнопки:
- Добавьте кнопку в Paywall Builder и назначьте ей одно из готовых действий или создайте собственный ID действия.
- Напишите в коде приложения обработчики для каждого назначенного вами действия.
Это гайд по обработке пользовательских и стандартных действий в коде.
Закрытие пейвола
Чтобы добавить кнопку для закрытия пейвола:
- В Paywall Builder добавьте кнопку и назначьте ей действие Close.
- В коде приложения реализуйте обработчик действия
close, который закрывает пейвол.
В Capacitor SDK действие close по умолчанию закрывает пейвол. Однако при необходимости вы можете переопределить это поведение в коде. Например, закрытие одного пейвола может инициировать открытие другого.
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onCloseButtonPress() {
console.log('User closed paywall');
return true; // Allow the paywall to close
}
});
Открытие URL из пейвола
Если вы хотите добавить группу ссылок (например, пользовательское соглашение и восстановление покупок), добавьте элемент Link в Paywall Builder и обработайте его так же, как кнопки с действием Open URL.
Чтобы добавить кнопку, открывающую ссылку из пейвола (например, Terms of use или Privacy policy):
- В Paywall Builder добавьте кнопку, назначьте ей действие Open URL и укажите нужный URL.
- В коде приложения реализуйте обработчик действия
openUrl, который открывает полученный URL в браузере.
В Capacitor SDK действие window.open по умолчанию открывает URL. Однако при необходимости вы можете переопределить это поведение в коде.
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onUrlPress(url) {
window.open(url, '_blank');
return false; // Don't close the paywall
},
});
Вход в приложение
Чтобы добавить кнопку для входа пользователей в приложение:
- В Paywall Builder добавьте кнопку и назначьте ей действие Login.
- В коде приложения реализуйте обработчик действия
login, который идентифицирует пользователя.
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onCustomAction(actionId) {
if (actionId === 'login') {
// Navigate to login screen
console.log('User requested login');
}
}
});
Обработка пользовательских действий
Чтобы добавить кнопку для обработки любых других действий:
- В Paywall Builder добавьте кнопку, назначьте ей действие Custom и задайте ему ID.
- В коде приложения реализуйте обработчик для созданного вами ID действия.
Например, если у вас есть другой набор предложений по подписке или разовые покупки, вы можете добавить кнопку, которая откроет другой пейвол:
const unsubscribe = view.setEventHandlers({
onCustomAction(actionId) {
if (actionId === 'openNewPaywall') {
// Display another paywall
console.log('User requested new paywall');
}
},
});