在 Unity SDK 中实现观察者模式

如果你已有自己的购买基础设施,暂时不打算完全切换到 Adapty,可以了解一下观察者模式。在基础形态下,观察者模式提供了高级分析功能,并可与归因和分析系统无缝集成。

如果这能满足您的需求,只需:

  1. 在配置 Adapty SDK 时,将 observerMode 参数设置为 true 以启用该功能。请按照 Unity 的安装说明进行操作。
  2. 将现有购买基础设施中的交易上报给 Adapty
Tip

在 SDK v4 中,你还可以在 Observer 模式下展示 Adapty 渲染的流程和付费墙:实现 IAdaptyUIObserverModeResolver 并通过 SetObserverModeResolver 注册它,当用户点击相应按钮时,用你自己的代码执行购买或恢复操作。详情请参阅在 Observer 模式下展示流程

观察者模式设置

如果你自行处理购买和订阅状态,并仅使用 Adapty 来发送订阅事件和分析数据,请开启观察者模式。

Important

在观察者模式下运行时,Adapty SDK 不会关闭任何交易,请确保你自行处理这一步骤。

Note

在 SDK 4.1 中,监听器接口遵循 C# 的 I 前缀命名规范——请实现 IAdaptyEventListener 而非 AdaptyEventListener——且该接口还需要额外实现一个方法 OnReceivePromotedPurchase。详情请参阅迁移指南

using UnityEngine;
using AdaptySDK;

public class AdaptyListener : MonoBehaviour, AdaptyEventListener {
    void Start() {
        DontDestroyOnLoad(this.gameObject);
        Adapty.SetEventListener(this);

        var builder = new AdaptyConfiguration.Builder("YOUR_PUBLIC_SDK_KEY")
            .SetObserverMode(true); // Enable observer mode

        Adapty.Activate(builder.Build(), (error) => {
            if (error != null) {
                // handle the error
                return;
            }
        });
    }

    public void OnLoadLatestProfile(AdaptyProfile profile) { }
    public void OnInstallationDetailsSuccess(AdaptyInstallationDetails details) { }
    public void OnInstallationDetailsFail(AdaptyError error) { }
}
参数描述
observerMode布尔值,用于控制观察者模式。默认值为 false

在观察者模式下使用 Adapty 流程和付费墙

如果你还想使用 Adapty 的流程、付费墙和 A/B 测试功能,完全可以——但在观察者模式下需要一些额外配置。除了上述步骤之外,你还需要完成以下操作:

  1. 按常规方式展示远程配置付费墙。对于在 Flow Builder 中构建的流程和付费墙,请参阅在观察者模式下展示流程
  2. 流程和付费墙与购买交易关联