在 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,用于为流程中的自定义标签返回应用内的对应值。详情请阅读向流程传递数据。
observerModeHandler观察者模式下必填你在上一步中实现的 AdaptyUiObserverModeHandler。
Warning

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