在 Capacitor SDK 中响应按钮操作
如果您使用 Adapty 付费墙编辑工具构建付费墙,正确设置按钮至关重要:
- 在付费墙编辑工具中添加按钮,并为其分配预设操作或创建自定义操作 ID。
- 在您的应用代码中,为已分配的每个操作编写处理逻辑。
本指南介绍如何在代码中处理自定义操作和预设操作。
关闭付费墙
要添加一个可关闭付费墙的按钮:
- 在付费墙编辑工具中,添加一个按钮并为其分配 Close 操作。
- 在应用代码中,实现
close操作的处理程序以关闭付费墙。
在 Capacitor SDK 中,close 操作默认会触发关闭付费墙。但如有需要,您可以在代码中覆盖此行为。例如,关闭一个付费墙可能会触发打开另一个付费墙。
import { adapty, createPaywallView } from '@adapty/capacitor';
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onCloseButtonPress() {
console.log('User closed paywall');
return true; // Allow the paywall to close
}
});
从付费墙中打开 URL
如果您想添加一组链接(例如使用条款和购买恢复),可在付费墙编辑工具中添加 Link 元素,并以与带有 Open URL 操作的按钮相同的方式进行处理。
要添加一个从付费墙打开链接的按钮(例如使用条款或隐私政策):
- 在付费墙编辑工具中,添加一个按钮,为其分配 Open URL 操作,并输入您要打开的 URL。
- 在应用代码中,实现
openUrl操作的处理程序,以便在浏览器中打开接收到的 URL。
在 Capacitor SDK 中,window.open 操作默认会触发打开 URL。但如有需要,您可以在代码中覆盖此行为。
import { adapty, createPaywallView } from '@adapty/capacitor';
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onUrlPress(url) {
window.open(url, '_blank');
return false; // Don't close the paywall
},
});
登录应用
要添加一个让用户登录应用的按钮:
- 在付费墙编辑工具中,添加一个按钮并为其分配 Login 操作。
- 在应用代码中,实现
login操作的处理程序以识别您的用户。
import { adapty, createPaywallView } from '@adapty/capacitor';
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onCustomAction(actionId) {
if (actionId === 'login') {
// Navigate to login screen
console.log('User requested login');
}
}
});
处理自定义操作
要添加一个处理其他操作的按钮:
- 在付费墙编辑工具中,添加一个按钮,为其分配 Custom 操作,并设置一个 ID。
- 在应用代码中,实现您所创建操作 ID 的处理程序。
例如,如果您有另一组订阅方案或一次性购买商品,可以添加一个按钮来展示另一个付费墙:
const unsubscribe = view.setEventHandlers({
onCustomAction(actionId) {
if (actionId === 'openNewPaywall') {
// Display another paywall
console.log('User requested new paywall');
}
},
});