响应购买结果

购买完成后,Adapty SDK 会将结果回调给你的应用。在应用做出响应之前,界面不会有任何变化。你的应用可以关闭付费墙、保持打开以便用户再次尝试,或者打开第二个流程来确认购买成功。

编辑工具无法根据购买结果进行分支跳转:购买完成时不会触发任何触发器,也没有任何变量携带购买结果。因此,跳转逻辑需要在你的代码中处理,因为购买结果正是在那里返回的。

整个流程分为三个部分:

  • 构建购买后的流程,并将其分配到独立的版位。
  • 在应用代码中,根据购买结果进行分支判断。
  • 购买成功后,关闭付费墙并展示购买后的流程。

开始之前

1. 构建购后流程

创建流程。该流程在购买完成后运行,因此无需配置产品。若要将用户引导回应用自身的界面,请在最后一个屏幕上添加一个绑定 Close Flow 操作的按钮。

Post-purchase flow in the builder with a Thank you screen, the Start button selected, and its On Tap trigger set to the Close Flow action

当流程有多个分支出口时,请使用自定义操作。为每个按钮设置独立的 Action ID,这样应用就能区分 Set up nowSet up later

2. 将购后流程分配到独立版位

要在应用中获取购后流程,需将其分配到独立版位。你的付费墙版位无法同时承载该流程——每个版位在同一目标受众下只能服务一个流程。

  1. 发布流程
  2. 创建流程版位。记录 Placement ID——应用将使用它来获取该流程。
  3. 将购后流程分配到新版位。

3. 根据购买结果进行分支处理

您的应用通过两个回调接收购买结果:

  • Completion:购买已得出结论——成功完成、用户取消,或付款正在等待审批(例如家长确认)。通过读取结果类型来区分这三种情况。成功时,结果中包含更新后的 AdaptyProfile
  • Failure:发生错误导致购买中断,回调中携带一个 AdaptyError——可能是付款限制、无效产品、网络故障或交易验证失败。

回调名称与签名:iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor

根据结果进行分支处理:

  • 购买成功时,关闭付费墙,然后展示购后流程。
  • 取消、待处理或失败时,保持付费墙开启。
Note

通过专属回调处理恢复购买,可覆盖重新安装应用或更换设备的用户。确认返回的用户画像具有有效的访问等级后,按照相同方式关闭并展示流程。将该回调指向独立流程——感谢用户购买的页面并不适合作为恢复购买的流程。

4. 加载并展示购后流程

要实现无等待地打开购后流程,请在处理程序内部之前,与付费墙一起预先获取该流程,而不是在处理程序内部获取。SDK 会提前下载并缓存图片。

如需在一次调用中预热多个版位的缓存,请使用 preloadFlows(SDK 4.1+)。

获取流程和付费墙:iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor

展示流程和付费墙:iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor