在 Android SDK 中以 Observer 模式展示流程

如果你使用 Observer 模式,则需要自行处理购买逻辑。但你可以将付费墙 UI 的展示工作交给 Flow & Paywall Builder 来完成。

在编辑工具中设计好界面后,Adapty SDK 会原生渲染该界面。你可以随时更新文案、布局和定价,无需发布新版本。当用户点击购买按钮时,SDK 会调用你的代码完成购买。

本指南介绍如何展示该界面并处理购买回调。如果由 Adapty 代为完成购买,请参阅展示流程与付费墙

开始之前

你需要:

实现

  1. 实现 AdaptyUiObserverModeHandler

当用户发起购买时,onPurchaseInitiated 事件会通知你。你可以在此回调中触发自定义购买流程:

要在 Observer 模式下处理恢复操作,请重写 getRestoreHandler()。默认情况下,它返回 null,即使用 Adapty 内置的 Adapty.restorePurchases() 流程。如需提供自定义的恢复实现:

请记得调用以下回调,以便将购买或恢复操作的状态通知给 AdaptyUI。这对于正确的流程行为(例如显示加载动画)是必要的:

回调描述
onStartPurchase()应调用此回调以通知 AdaptyUI 购买已开始。
onFinishPurchase()应调用此回调以通知 AdaptyUI 购买已完成。
onStartRestore()可选。可调用此回调以通知 AdaptyUI 恢复购买已开始。
onFinishRestore()可选。可调用此回调以通知 AdaptyUI 恢复购买已完成。
  1. 要在设备屏幕上显示可视化流程,您必须先对其进行配置。

请求参数:

参数是否必填描述
flowConfiguration必填提供一个包含流程视觉详情的 AdaptyUI.FlowConfiguration 对象。使用 AdaptyUI.getFlowConfiguration(flow) 方法加载。详情请参阅 获取视图配置
products选填提供一个 AdaptyPaywallProduct 数组,以优化产品在屏幕上的展示时机。若传入 null,AdaptyUI 将自动获取所需产品。
eventListener选填提供一个 AdaptyFlowEventListener 以监听流程事件。建议继承 AdaptyFlowDefaultEventListener 以简化使用。详情请参阅 处理流程与付费墙事件
insets选填Insets 是流程周围的间距,用于防止可点击元素被系统栏遮挡。默认值:Unspecified,表示由 Adapty 自动调整 insets。参见 修改流程 insets
customAssets选填传入一个 AdaptyCustomAssets 对象,以在运行时替换流程中的图片和视频。详情请参阅 自定义资源
tagResolver选填使用 AdaptyUiTagResolver 解析流程文本中的自定义标签。该解析器接收标签参数并将其解析为对应的字符串。
observerModeHandlerObserver 模式必填您在上一步骤中实现的 AdaptyUiObserverModeHandler
Warning

不要忘记将付费墙与购买交易关联。否则,Adapty 将无法确定购买的来源流程。