响应购买结果
购买完成后,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. 加载并展示购后流程
如需在购买完成后立即打开购后流程,应在获取付费墙的同时一并获取该流程,而非在处理程序内部获取。同时也要请求其 UI 配置——正是这个调用会在后台启动流程图片的缓存预加载。
在 iOS 和 Android 上,preloadFlows(SDK 4.1+)可在一次调用中预热多个版位。它仅缓存版位 JSON,因此请搭配 ReturnCacheDataElseLoad 获取策略使用,并提前请求 UI 配置。
获取流程和付费墙:iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor
展示流程和付费墙:iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor