响应购买结果
购买完成后,Adapty SDK 会将结果回调给你的应用。在应用做出响应之前,界面不会有任何变化。你的应用可以关闭付费墙、保持打开以便用户再次尝试,或者打开第二个流程来确认购买成功。
编辑工具无法根据购买结果进行分支跳转:购买完成时不会触发任何触发器,也没有任何变量携带购买结果。因此,跳转逻辑需要在你的代码中处理,因为购买结果正是在那里返回的。
整个流程分为三个部分:
- 构建购买后的流程,并将其分配到独立的版位。
- 在应用代码中,根据购买结果进行分支判断。
- 购买成功后,关闭付费墙并展示购买后的流程。
开始之前
- 流程需要 Adapty SDK v4.0 或更高版本。
- 先构建一个付费墙——例如,参照创建基础付费墙界面教程。
1. 构建购后流程
创建流程。该流程在购买完成后运行,因此无需配置产品。若要将用户引导回应用自身的界面,请在最后一个屏幕上添加一个绑定 Close Flow 操作的按钮。
当流程有多个分支出口时,请使用自定义操作。为每个按钮设置独立的 Action ID,这样应用就能区分 Set up now 和 Set up later。
2. 将购后流程分配到独立版位
要在应用中获取购后流程,需将其分配到独立版位。你的付费墙版位无法同时承载该流程——每个版位在同一目标受众下只能服务一个流程。
3. 根据购买结果进行分支处理
您的应用通过两个回调接收购买结果:
- Completion:购买已得出结论——成功完成、用户取消,或付款正在等待审批(例如家长确认)。通过读取结果类型来区分这三种情况。成功时,结果中包含更新后的
AdaptyProfile。 - Failure:发生错误导致购买中断,回调中携带一个
AdaptyError——可能是付款限制、无效产品、网络故障或交易验证失败。
回调名称与签名:iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor
根据结果进行分支处理:
- 购买成功时,关闭付费墙,然后展示购后流程。
- 取消、待处理或失败时,保持付费墙开启。
通过专属回调处理恢复购买,可覆盖重新安装应用或更换设备的用户。确认返回的用户画像具有有效的访问等级后,按照相同方式关闭并展示流程。将该回调指向独立流程——感谢用户购买的页面并不适合作为恢复购买的流程。
4. 加载并展示购后流程
要实现无等待地打开购后流程,请在处理程序内部之前,与付费墙一起预先获取该流程,而不是在处理程序内部获取。SDK 会提前下载并缓存图片。
如需在一次调用中预热多个版位的缓存,请使用 preloadFlows(SDK 4.1+)。
获取流程和付费墙:iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor
展示流程和付费墙:iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor