在 Unity SDK 中实现观察者模式
如果你已有自己的购买基础设施,暂时不打算完全切换到 Adapty,可以了解一下观察者模式。在基础形态下,观察者模式提供了高级分析功能,并可与归因和分析系统无缝集成。
如果这能满足您的需求,只需:
- 在配置 Adapty SDK 时,将
observerMode参数设置为true以启用该功能。请按照 Unity 的安装说明进行操作。 - 将现有购买基础设施中的交易上报给 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 测试功能,完全可以——但在观察者模式下需要一些额外配置。除了上述步骤之外,你还需要完成以下操作:
- 按常规方式展示远程配置付费墙。对于在 Flow Builder 中构建的流程和付费墙,请参阅在观察者模式下展示流程。
- 将流程和付费墙与购买交易关联。