在 Observer 模式下展示流程 - Unity

如果你已经使用编辑工具自定义了流程或付费墙,则无需在移动应用代码中额外处理渲染逻辑即可将其展示给用户。这类流程或付费墙本身已包含展示内容和展示方式的完整配置。

本节仅适用于观察者模式。如果您不使用观察者模式,请参阅展示流程与付费墙主题。

此功能需要 Adapty Unity SDK 4.0(测试版)或更高版本——此前该功能仅在 iOS 和 Android 原生 SDK 中可用。请参阅迁移指南进行升级。

开始展示流程前的准备工作(点击展开)
  1. 在 Adapty 中完成与 App StoreGoogle Play 的初始集成。 2. 安装并配置 Adapty SDK。确保在配置构建器上调用 SetObserverMode(true)。请参阅 Unity SDK 安装指南。 3. 在 Adapty 看板中创建产品。 4. 在编辑工具中配置流程或付费墙,并为其分配产品。 5. 创建版位并将您的流程或付费墙分配给它们。 6. 在移动应用代码中获取流程及其配置

在 Observer 模式下,SDK 不会代替你发起购买。当用户点击 Adapty 渲染的流程或付费墙中的购买或恢复按钮时,SDK 会调用你的 IAdaptyUIObserverModeResolver——请在其中使用你自己的代码执行购买或恢复操作。

  1. 实现 IAdaptyUIObserverModeResolver 接口:

    using System;
    using AdaptySDK;
    
    public class MyObserverModeResolver : IAdaptyUIObserverModeResolver
    {
        public void FlowViewDidInitiatePurchase(
            AdaptyUIFlowView view,
            AdaptyPaywallProduct product,
            Action onStartPurchase,
            Action onFinishPurchase
        )
        {
            onStartPurchase(); // the view shows its loading indicator
            // make the purchase with your own code,
            // then report the transaction to Adapty and call:
            onFinishPurchase(); // the view hides the loading indicator
        }
    
        public void FlowViewDidInitiateRestore(
            AdaptyUIFlowView view,
            Action onStartRestore,
            Action onFinishRestore
        )
        {
            onStartRestore();
            // restore purchases with your own code, then:
            onFinishRestore();
        }
    }

FlowViewDidInitiatePurchase 方法会通知您用户已发起购买,FlowViewDidInitiateRestore 则通知您用户已发起恢复购买。请在收到通知后触发您的自定义购买或恢复流程。

另外,请务必调用以下回调,以便将购买或恢复流程的进度通知给 AdaptyUI。这对于流程的正常运行(例如显示加载动画等)是必要的:

回调描述
onStartPurchase()应调用此回调以通知 AdaptyUI 购买已开始。
onFinishPurchase()应调用此回调以通知 AdaptyUI 购买已完成。
onStartRestore()应调用此回调以通知 AdaptyUI 恢复已开始。
onFinishRestore()应调用此回调以通知 AdaptyUI 恢复已完成。

流程在您的代码运行期间保持打开——请在购买或恢复成功后自行关闭它。

  1. 在展示任何界面之前注册解析器:

    Adapty.SetObserverModeResolver(new MyObserverModeResolver());

    如果未注册解析器,流程视图将无法将购买事件传递给您的代码,用户点击购买按钮时不会有任何响应。

  2. 像往常一样创建并展示流程视图:获取流程并创建其视图,然后展示它。无需额外参数——一旦注册了解析器,每个由 Adapty 渲染的流程或付费墙都会通过它来路由购买和恢复操作。

不要忘记上报交易并将其与付费墙关联。否则,Adapty 将无法识别该交易,也无法确定购买来源的付费墙。